我通过PHPMailer使用SMTP回复邮件时遇到问题。当我尝试发送邮件时,我得到了
"You must provide at least one recipient email address."
我使用的以下PHP代码是:
require("smtp/class.phpmailer.php");
$mail = new PHPMailer(); // create a new object
$mail->IsSMTP(); // enable SMTP
$mail->SMTPDebug = 0; // debugging: 1 = errors and messages, 2 = messages only
$mail->SMTPAuth = true; // authentication enabled
$mail->SMTPSecure = 'ssl'; // secure transfer enabled REQUIRED for GMail
$mail->Host = 'smtp.gmail.com';
$mail->Port = 465;
$mail->Username = '****@gmail.com';
$mail->Password = '***';
$mail->SetFrom('***@gmail.com', '***@gmail.com');
$mail->Subject = 'RE: Hello World';
$mail->Body = 'Hello World';
$mail->AddReplyTo('****@gmail.com');
if(!$mail->Send()) {
$error = 'Mail error: '.$mail->ErrorInfo;
return false;
} else {
$error = 'Message sent!';
return true;
}
我想知道配置中还缺少什么。
答案 0 :(得分:1)
您错过了To
地址。您可以添加如下:
$mail->AddAddress('josh@example.net', 'Josh Adams');
请在此处查看完整示例:https://github.com/PHPMailer/PHPMailer#a-simple-example
Reply-To
标题指定收件人点击“回复”时使用的默认/推荐地址。
答案 1 :(得分:0)
使用$ mail-> AddAddress()而不是$ mail-> AddReplyTo()。
答案 2 :(得分:0)
AddReplyTo
用于添加回复地址。使用回复地址发送的邮件的回复将传递到该地址。
说,您向其中一位访问者发送了一封电子邮件,其回复地址设置为support@example.com
。当他们回复该电子邮件时,会将其发送到您指定为AddReplyTo
的电子邮件。
如果您尝试向自己发送电子邮件,则可以改为使用AddAddress
。
$mail->AddAddress('someone@example.net', 'JohnDoe');
希望这有帮助!