SMTP回复至少一个收件人


I have a problem with Replying mails with SMTP through PHPMailer. When I try to send the mail I get

"You must provide at least one recipient email address."

The following PHP Code I use is:

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;
}

I would like to know what else I'm lacking in the configuration.

AddReplyTo is used to add a Reply-To address. Responses to messages you send with a reply-to address are delivered to that address.

Say, you send an email to one of your visitors with the reply-to address set to support@example.com. When they reply to that email, it will be sent to the email you specified as AddReplyTo.

If you're trying to send an email to yourself, you can just use AddAddress instead.

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

Hope this helps!

Documentation: phpMailer methods, phpMailer examples.

Use $mail->AddAddress() instead of $mail->AddReplyTo().

You're missing a To address. You can add one like so:

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

See a full example here: https://github.com/PHPMailer/PHPMailer#a-simple-example

The Reply-To header designates the default/recommended address to use when the recipient clicks "reply."