用PHP发送html表单和文件附件


Send both html form and the file attahment in PHP

我一直在试图找到一种通过php附加html表单和文件附件的方法。目的是当用户按下提交按钮时,HTML表单(仅具有可见字段)和文件附件(已上载)都会作为电子邮件附加。这是一种HTML电子邮件,但我想在电子邮件中附上HTML表单。我找不到任何解决方案?

您想将表单值作为附件发送,而不是在电子邮件的实际正文中发送吗?如果是这样,您可以用表单的数据创建一个html页面,并将其保存在服务器上。然后,发送它。如果你需要帮助,请告诉我,我会发布一些代码。不过,我不太推荐这种方法。在我看来,你应该在邮件正文中发送。

创建文件:

$fh = fopen($filename, 'w') or die("can't open file");
fwrite($fh, '<html><body>');
fwrite($fh, "<h1>$title</h1>$text");
fwrite($fh, '</body></html>');
fclose($fh);

通过php邮件发送文件:

$mail->AddAttachment($whereEverYouSavedYourFile, $whatEverYourFileNameIs);

如果它不起作用(可能是你的特定问题的新问题),请尝试并发布代码。

编辑:

要发送带有邮件数据的电子邮件,请将表单提交到包含以下内容的PHP页面:

<?php
// get and sanitize post data like this
// note: you must have a form field with a 'name' of 'firstName' and on of 'lastName'
$firstName = htmlspecialchars($_POST['firstName'], ENT_QUOTES, 'UTF-8');
$lastName = htmlspecialchars($_POST['lastName'], ENT_QUOTES, 'UTF-8');
// put the data in a new variable
$body = <<<HTML
  First name: $firstName 'r'n
  Last name: $lastName 'r'n
HTML;
// send mail
mail('whoEver@theirEmailAddress.com', 'form data', $body);
?>

查看下面的链接,它肯定会对您有所帮助。

http://www.finalwebsites.com/forums/topic/php-e-mail-attachment-script

我用过它,它对我很有效。