我对PHPMailer有点困惑。我正在尝试在一个网站中使用它,其中一个人填写表格,并包括他们的姓名,电子邮件信息。
我正在尝试将这些信息通过电子邮件发送给我,并将副本通过电子邮件发送给该人 - 因此使用了$mail->addCC($email)
方法。
但是,每次我尝试从雅虎电子邮件地址发送测试电子邮件时,它都不起作用。它适用于gmail地址。
编辑 - 当我说它不适用于雅虎电子邮件地址时,从技术上讲,我得到的是他们发送的“邮件传递失败”电子邮件。我使用$mail->addCC($email)
方法的目的是将副本发送给用户,并且发送给我的那个是我可以回复的那个。
我已经尝试了$mail->addCustomHeader($email);
,但仍然会产生同样的问题,即雅虎邮件无法提供。
如何使这个PHPMailer工作,以便将副本发送给我和用户?
另外,我是否错误地使用此PHPMailer表单?我对$mail->From = $email;
感到困惑,我目前将其设置为来自用户的电子邮件地址,这样我就可以回复它了。那是错的吗?
$first_name = $_POST['first-name'];
$last_name = $_POST['last-name'];
$email = $_POST['email'];
$message = nl2br($_POST['message']);
require 'PHPMailerAutoload.php';
$mail = new PHPMailer;
$mail->isSMTP(); // Set mailer to use SMTP
$mail->Host = 'host info'; // Specify main and backup SMTP servers
$mail->SMTPAuth = true; // Enable SMTP authentication
$mail->Username = 'user info'; // SMTP username
$mail->Password = 'pw'; // SMTP password
$mail->SMTPSecure = 'tls'; // Enable TLS encryption, `ssl` also accepted
$mail->Port = 587;
$mail->From = $email;
$mail->FromName = $first_name;
$mail->addAddress('my email address'); // Add a recipient
$mail->addCC($email); // Add a recipient
$mail->isHTML(true); // Set email format to HTML
$mail->Subject = 'Hotel Room Request';
$mail->Body = $message;
$mail->AltBody = 'This is the body in plain text for non-HTML mail clients';
if(!$mail->send()) {
header('location: url here');
} else {
header('location: url here');
}