我一直在使用这个脚本向某些员工发送电子邮件,但由于我的系统发生了变化,我现在必须随电子邮件发送附件,并且我已经尝试了多种代码来完成此操作,但没有成功......我仍然收到电子邮件,但没有附件,在这种情况下毫无意义,我已将我正在使用的脚本放在下面
我已经删除了我正在使用的真实地址和 smtp 服务器
require("PHPMailer/class.phpmailer.php");
$mail = new PHPMailer();
$mail->IsSMTP(); // set mailer to use SMTP
$mail->Host = "SMTP.SErver.com";
$mail->From = "[email protected]";
$mail->FromName = "HCSC";
$mail->AddAddress("[email protected]", "Example");
$mail->AddReplyTo("[email protected]", "Hcsc");
$mail->WordWrap = 50;
$mail->IsHTML(false);
$mail->Subject = "AuthSMTP Test";
$mail->Body = "AuthSMTP Test Message!";
$mail->AddAttachment("matt.txt"); //this is basicly what i am trying to attach as a test but will be using excel spreadsheets in the production
if(!$mail->Send())
{
echo "Message could not be sent. <p>";
echo "Mailer Error: " . $mail->ErrorInfo;
exit;
}
echo "Message has been sent";
我还尝试了其他一些附加文件的方法,但似乎都不起作用,任何帮助都得到了极大的应用
您的代码看起来相当简单并且语法正确。脚本是否返回任何错误消息?
如果您收到消息时没有任何问题,则问题看起来并不存在于您的代码中。
有几点需要检查:
- 确保您的网络服务器可以读取文件“matt.txt”并且路径正确。文件的路径需要包含在$mail->AddAttachment()方法调用并且应该相对于脚本的位置。
- 验证您的邮件服务器不会由于限制而删除任何附件和/或尝试发送不同的附件文件类型(尝试 .zip 或 .jpg 文件)
-
如果您正在运行较新版本的 phpMailer,您可以尝试使用以下语法捕获引发的任何异常(可能不会阻止消息发出,而只是阻止包含附件):(取自 phpMailer 示例代码)
require 'PHPMailer/PHPMailerAutoload.php';
$mail = new PHPMailer(true);
try {
$mail->IsSMTP(); // set mailer to use SMTP
$mail->Host = "SMTP.SErver.com";
$mail->From = "[email protected]";
$mail->FromName = "HCSC";
$mail->AddAddress("[email protected]", "Example");
$mail->AddReplyTo("[email protected]", "Hcsc");
$mail->WordWrap = 50;
$mail->IsHTML(false);
$mail->Subject = "AuthSMTP Test";
$mail->Body = "AuthSMTP Test Message!";
$mail->AddAttachment("matt.txt");
echo "Message Sent OK<p></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!
}
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)