我在example.com/contact-us.php
上有一个表单,看起来像这样(简化):
<form method="post" action="process.php" enctype="multipart/form-data">
<input type="file" name="uploaded_file" id="uploaded_file" />
<input type="hidden" name="MAX_FILE_SIZE" value="10000000" />
</form>
在我的process.php
文件中,我有以下利用PHPMailer()
发送电子邮件的代码:
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
附件。
我的问题
我需要从表格中的文件uploaded_file
附加到电子邮件,并发送。在process.php
脚本通过电子邮件发送文件后,我并不关心是否保存该文件。
我知道我需要在某个地方(我假设在Body
行下)添加AddAttachment();
,以便发送附件。但是..。
process.php
文件的顶部放什么东西来拉入文件uploaded_file
?比如使用$_FILES['uploaded_file']
从contact-us.php页面拉入文件?AddAttachment();
中包含什么内容,以便将文件附加到电子邮件中并与电子邮件一起发送?这些代码需要放到哪里?请帮助并提供代码!谢谢!
发布于 2012-08-02 01:12:22
尝试:
if (isset($_FILES['uploaded_file']) &&
$_FILES['uploaded_file']['error'] == UPLOAD_ERR_OK) {
$mail->AddAttachment($_FILES['uploaded_file']['tmp_name'],
$_FILES['uploaded_file']['name']);
}
基本的例子也可以在here中找到。
AddAttachment
的函数定义如下:
public function AddAttachment($path,
$name = '',
$encoding = 'base64',
$type = 'application/octet-stream')
发布于 2012-12-16 03:07:50
无法从客户端PC附加文件(上载)
在HTML表单中,我没有添加以下行,因此没有附件:
Enctype=“多部分/表单数据”
在表单中添加上面的行(如下所示)后,附件变得完美。
<form id="form1" name="form1" method="post" action="form_phpm_mailer.php" enctype="multipart/form-data">
发布于 2016-06-02 18:50:12
这段代码可以帮助我发送附件...
$mail->AddAttachment($_FILES['file']['tmp_name'], $_FILES['file']['name']);
更换您的AddAttachment(...)使用上述代码编写代码
https://stackoverflow.com/questions/11764156
复制相似问题