4 php
以下代码给出了该消息
Mailer Error: SMTP Error: The following SMTP Error: Data not accepted. But when I replace $EmailAdd with a a@yahoo.com. The mail was sent.
Run Code Online (Sandbox Code Playgroud)
我的代码出了什么问题?我是一个新的PHP,特别是在处理邮件功能.
$sql1 = "SELECT Email_Address FROM participantable where IDno=$studId";
$result1 = mysql_query($sql1);
while ($row1 = mysql_fetch_assoc($result1)){
$EmailADD = $row1["Email_Address"];
}
//error_reporting(E_ALL);
error_reporting(E_STRICT);
date_default_timezone_set('America/Toronto');
include("class.phpmailer.php");
//include("class.smtp.php"); // optional, gets called from within class.phpmailer.php if not already loaded
$mail = new PHPMailer();
$body = $mail->getFile('contents.html');
$body = eregi_replace("[\]",'',$body);
$mail->IsSMTP();
$mail->SMTPAuth = true; // enable SMTP authentication
$mail->SMTPSecure = "ssl"; // sets the prefix to the servier
$mail->Host = "smtp.gmail.com"; // sets GMAIL as the SMTP server
$mail->Port = 465; // set the SMTP port for the GMAIL server
$mail->Username = "jsbadiola@gmail.com"; // GMAIL username
$mail->Password = "********"; // GMAIL password
$mail->AddReplyTo("jsbadiola@gmail.com","Lord Skyhawk");
$mail->From = "jsbadiola@gmail.com";
$mail->FromName = "Update";
$mail->Subject = "PHPMailer Test Subject via gmail";
$mail->Body = "Hi,<br>This is the HTML BODY<br>"; //HTML Body
$mail->AltBody = "To view the message, please use an HTML compatible email viewer!"; // optional, comment out and test
$mail->WordWrap = 50; // set word wrap
$mail->MsgHTML($body);
$mail->AddAddress($EmailADD, "Agta ka");
$mail->AddAttachment("images/phpmailer.gif"); // attachment
$mail->IsHTML(true); // send as HTML
if(!$mail->Send()) {
echo "Mailer Error: " . $mail->ErrorInfo;
} else {
$status = "Successfully Save!";
header("location: User_retsched.php?IDno=$studId&status=$status&Lname=$Lname&Fname=$Fname&Course=$Course&Year=$Year");
}
Run Code Online (Sandbox Code Playgroud)
大多数时候,我已经看到这封邮件无论如何都成功发送了电子邮件,但并非总是如此.要调试,请设置:
$mail->SMTPDebug = true;
Run Code Online (Sandbox Code Playgroud)
您可以回显调试消息或使用error_log()以下命令记录它们:
// 'echo' or 'error_log'
$mail->Debugoutput = 'echo';
Run Code Online (Sandbox Code Playgroud)
特别是在负载很重的服务器上,可能的候选者是SMTP超时:
// default is 10
$mail->Timeout = 60;
Run Code Online (Sandbox Code Playgroud)
class.smtp.php还有一个Timelimit用于从服务器读取的属性.
| 归档时间: |
|
| 查看次数: |
32887 次 |
| 最近记录: |