发布日期:2018-03-26
使用phpMailer发送从表单上传的附件+ 查看更多
使用phpMailer发送从表单上传的附件
+ 查看更多
发布日期:2018-03-10 15:03
分类:PHP
浏览次数:205
我在 example.com/contact-us.php 上有一个form ,如下:
在我的process.php文件中,我利用PHPMaile()发送电子邮件,代码如下:
require("phpmailer.php"); $mail = new PHPMailer(); $mail->From = me@example.com; $mail->FromName = My name; $mail->AddAddress(me@example.com,"John Doe"); $mail->WordWrap = 50; $mail->IsHTML(true); $mail->Subject = "Contact Form Submitted"; $mail->Body = "This is the body of the message.";
电子邮件正确发送正文,但没有uploaded_file的附件。
我的问题如下:
我需要让页面上传的文件附加到电子邮件,并发送。我不关心在process.php脚本在电子邮件中发送文件后是否保存了文件。我明白我需要添加AddAttachment()在某个地方(我假设在Body线下)来发送附件。但...我把什么放在process.php文件的顶部,以导入文件uploaded_file?像使用$ _FILES ['uploaded_file']从contact-us.php 页面中提取文件?AddAttachment()内部对要附加的文件以及电子邮件发送什么,这段代码在哪里?
我需要让页面上传的文件附加到电子邮件,并发送。我不关心在process.php脚本在电子邮件中发送文件后是否保存了文件。我明白我需要添加AddAttachment()在某个地方(我假设在Body线下)来发送附件。但...我把什么放在process.php文件的顶部,以导入文件uploaded_file?像使用$ _FILES ['uploaded_file']从contact-us.php 页面中提取文件?AddAttachment()内部对要附加的文件以及电子邮件发送什么,这段代码在哪里?
请帮助并提供代码!谢谢!
回答
试一试这个:if (isset($_FILES['uploaded_file']) && $_FILES['uploaded_file']['error'] == UPLOAD_ERR_OK) { $mail->AddAttachment($_FILES['uploaded_file']['tmp_name'], $_FILES['uploaded_file']['name']); }
基本示例也可以在这里找到。
AddAttachment的函数定义为:
public function AddAttachment($path, $name = '', $encoding = 'base64', $type = 'application/octet-stream');