0


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

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

4

3 回答 3

1

你错过了一个To地址。您可以像这样添加一个:

$mail->AddAddress('josh@example.net', 'Josh Adams');

在此处查看完整示例:https ://github.com/PHPMailer/PHPMailer#a-simple-example

标题指定收件人单击“回复”Reply-To时要使用的默认/推荐地址。

于 2013-08-01T13:54:21.583 回答
0

使用 $mail->AddAddress() 而不是 $mail->AddReplyTo()。

于 2013-08-01T13:45:27.157 回答
0

AddReplyTo用于添加回复地址。对您发送的带有回复地址的消息的回复将发送到该地址。

假设您向其中一位访问者发送了一封电子邮件,其中回复地址设置为support@example.com。当他们回复该电子邮件时,它将被发送到您指定为的电子邮件AddReplyTo

如果您尝试向自己发送电子邮件,则可以AddAddress改用。

$mail->AddAddress('someone@example.net', 'JohnDoe');

希望这可以帮助!

文档:phpMailer 方法phpMailer 示例

于 2013-08-01T13:57:34.770 回答