我不是这方面的专家,所以请原谅我提出这样一个(可能)愚蠢的问题。
我需要帮助设置(在 html 页面上)一种方法,允许访问者浏览到他们计算机上的文件(实际上是 2 个文件),当他们选择提交时,该文件将附加到 PHP 邮件表单。
我知道对于 PHP 邮件图像,我需要使用 PearMime 或 PHPMailer 之类的东西。
*更新*
好的,现在我知道如何放置 HTML 表单来获取文件了。当我使用以下 PHP 时,我做错了什么?我有 2 个通过 ID 从 HTML 页面请求的文件(HTML 正确创建了两个文件),即 PHPMailer_5.2.1 的位置,$mail->MsgHTML(file_get_contents('testfiles.html')); 实际上正在查看我在该位置创建的一个 html 页面,该页面只有一个 html 文档的模板启动器,正文中带有 Sample 一词。
<?php
require("PHPMailer_5.2.1/class.phpmailer.php");
$mail = new PHPMailer(); //defaults to using php "mail()"; the true param means it will throw exceptions on errors, which we need to catch
$file1 = $_REQUEST['file1'];
$file2 = $_REQUEST['file2'];
try {
$mail->AddReplyTo('myemail@domain.com', 'FirstName LastName');
$mail->AddAddress('myemail@domain.com', 'FirstName LastName');
$mail->SetFrom('myemail@domain.com', 'FirstName LastName');
$mail->AddReplyTo('myemail@domain.com', 'FirstName LastName');
$mail->Subject = 'PHPMailer Test Subject via mail(), advanced';
$mail->AltBody = 'To view the message, please use an HTML compatible email viewer!'; // optional - MsgHTML will create an alternate automatically
$mail->MsgHTML(file_get_contents('testfiles.html'));
$mail->AddAttachment($file1); // attachment
$mail->AddAttachment($file2); // attachment
$mail->Send();
echo "Message Sent OK</p>\n";
} catch (phpmailerException $e) {
echo $e->errorMessage(); //Pretty error messages from PHPMailer
} catch (Exception $e) {
echo $e->getMessage(); //Boring error messages from anything else!
}
?>