我有3个邮件id说,user1@abc.com, user2@abc.com和user3@abc.com。我已经设置PHPMailer与SMTP用户为user1@abc.com。现在我将自动响应设置为user3@abc.com。当我从user2@abc.com发送邮件到user3@abc.com时,自动响应将转到user1@abc.com,这是我用来配置SMTP的地址。我如何作出自动回复以发送至发送地址?
$mail->isSMTP();
$mail->Host = 'hostname';
$mail->SMTPAuth = true;
$mail->Username = 'user1@abc.com';
$mail->Password = 'password';
$mail->SMTPSecure = '';
$mail->Port = 25;
$mail->Sender='user1@abc.com';
$mail->AddReplyTo('user2@abc.com', 'User2');
$mail->setFrom('user2@abc.com', 'User2', FALSE);
$mail->addAddress('user3@abc.com', 'User3');
$mail->isHTML(true);
$mail->Subject = $subject;
$mail->Body = $mailBody;
$mail->send();
您没有设置to
地址,因此它将回落到默认值。
$mail->addAddress('user3@abc.com');
许多isp(例如gmail)不允许您设置任意的发件人地址,所以如果您的发件人地址不工作,请检查。此外,请确保不要伪造地址,因为当您违反SPF规则时,这会导致交付失败。
如果你正在写一个自动回复器,检查你正在回复的入站消息没有Precedence: bulk
头集;自动回复不应该发送到邮件列表(邮件列表应该设置标题),因为它经常会导致循环。