为了账号安全,请及时绑定邮箱和手机立即绑定

使用phpMailer和PHP从表单发送文件附件

使用phpMailer和PHP从表单发送文件附件

PHP
交互式爱情 2019-07-13 14:42:31
使用phpMailer和PHP从表单发送文件附件我有张表格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脚本是通过电子邮件发送的。我知道我需要补充AddAttachment();在某个地方(我假设在Body(行)发送附件。但是.。我把什么放在顶部process.php文件要拉进文件uploaded_file?就像某种东西$_FILES['uploaded_file']从Contact-us.php页面中提取文件?里面有什么AddAttachment();对于随电子邮件一起附上和发送的文件,这段代码需要去哪里?请帮助并提供密码!谢谢!
查看完整描述

3 回答

?
米脂

TA贡献1836条经验 获得超3个赞

试着:

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')


查看完整回答
反对 回复 2019-07-13
?
牛魔王的故事

TA贡献1830条经验 获得超3个赞

无法从客户端PC附加文件(上传)

在HTML表单中,我没有添加以下行,因此没有附件:

enctype=“多部分/表格-数据”

在添加上线后(如下所示),附件变得非常完美。

<form id="form1" name="form1" method="post" action="form_phpm_mailer.php"  enctype="multipart/form-data">



查看完整回答
反对 回复 2019-07-13
?
慕森卡

TA贡献1806条经验 获得超8个赞

你会用$_FILES['uploaded_file']['tmp_name'],这是PHP存储上传文件的路径(它是一个临时文件,在脚本结束时由PHP自动删除,除非您已将其移动/复制到其他地方)。

假设你的客户端表单和服务器端上传设置是正确的,你没有什么需要做的“拉”上传。它将在tmp_name路径中神奇地可用。

请注意,您必须验证上传是否确实成功。

if ($_FILES['uploaded_file']['error'] === UPLOAD_ERR_OK) {
    ... attach file to email ...}

否则,您可能尝试使用损坏/部分/不存在的文件执行附件。


查看完整回答
反对 回复 2019-07-13
  • 3 回答
  • 0 关注
  • 554 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信