SMTP回复至少一个收件人

时间:2013-08-01 13:40:47

标签: php smtp phpmailer


我通过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;
}

我想知道配置中还缺少什么。

3 个答案:

答案 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');

希望这有帮助!

文档:phpMailer methodsphpMailer examples