PHP邮件程序无法发送没有附件的电子邮件

时间:2017-08-27 08:18:45

标签: php html phpmailer

即时新手使用PHPmailer,我尝试发送电子邮件,如果表单中的所有输入都已填满,一切正常。

但如果附件为空,我就无法发送电子邮件。 请帮助我如何发送没有附件的电子邮件或使附件是可选的。 这是我的代码: php

这是我的表格 form

谢谢你。

3 个答案:

答案 0 :(得分:1)

不要写

$mail->addAttachment(...

如果没有文件。

例如

if ($_FILES['attachemnt']['error'] == UPLOAD_ERR_OK) {
    $mail->addAttachment(...
}

答案 1 :(得分:1)

根据您的问题,更具体地说

  

如果表单中的所有输入都已填写

,那么一切正常

您只需要删除input

中对附件JavaScript字段的检查

如果已经处理了,那么我建议检查附件文件是否存在,在sendemail文件的php函数内;如果不是,则不要像$mail->addAttachment那样添加Ivan Bolnikh建议或使用

if(isset($attachment))
    $mail->addAttachment($attachment);

希望它有所帮助!!!

答案 2 :(得分:0)

如果你没有传递任何文件并调用函数move_uploaded_file,则返回false。因此不会调用sendmail。您使文件上传上瘾的sendmail

修改

尝试类似的东西:

if(!move_uploaded_file($_FILES['attachment']['name'], $file)) { 
$file = false; 
 } 
sendmail($to, $subjects, $body, $file);

然后你可以说:

if($attachment) { 
$mail->addAttachment($attachment); 
} 

对不起代码格式错误,在手机上写下