我想从我的网站空间发送一个大邮件。此邮件包含许多通过表单输入的变量。
首先,我尝试了php mail(),但我没有收到任何邮件。我使用mail()在我的网站的另一部分,并从这个脚本我收到一封邮件。所以这个函数应该在我的网页空间上工作。
对于大型邮件,我尝试使用PHPMailer,因为mail()没有像预期的那样工作。PHPMailer的代码是:
require 'phpmailer/PHPMailerAutoload.php';
$mail = new PHPMailer;
$mail->isSMTP();
$mail->Host = 'xxx.xxx.de';
$mail->SMTPAuth = true;
$mail->Port = 587;
$mail->Username = 'xxx';
$mail->Password = 'xxx';
$mail->SMTPSecure = 'tls';
$mail->From = 'xxx@xxx.de';
$mail->FromName = 'xxx';
$mail->addAddress('xxx@xxx.de', 'xxx xxx');
$mail->WordWrap = 50;
$mail->isHTML(true);
$mail->Subject = $subject;
$mail->Body = $mess;
$mail->AltBody = $mess;
if(!$mail->send()) {
echo 'Message could not be sent.';
echo 'Mailer Error: ' . $mail->ErrorInfo;
} else {
echo 'Message has been sent';
}
脚本完成后,我没有得到一个错误,我没有收到邮件。这有什么问题呢?我如何检查,为什么我的PHPMailer不工作?需要的路径是绝对的还是相对的?
试试:
//……另一个选项码$mail->SMTPDebug = 2;//启用SMTP调试信息(用于测试)//……另一个代码转储(邮件->发送());
每次打开这个php-page,邮件结果都会让您知道。你错过了什么
使用try/catch:
$mail = new PHPMailer(true); // enable exceptions
try {
$mail->isSMTP();
//....
}
catch (phpmailerException $e) {
echo $e->errorMessage();
}