未收到发件人电子邮件和姓名。 PhpMailer
消息说,电子邮件成功发送,但我不能得到发件人的电子邮件或发件人姓名。我只收到身体和主题。未收到PhpMailer的用户名和电子邮件地址
感谢
<?php
require 'PHPMailerAutoload.php';
$name = $_POST['fname'];
$mail = $_POST['email'];
$subject = $_POST['subj'];
$message = $_POST['mssg'];
$mail = new PHPMailer;
$mail->isSMTP(); // Set mailer to use SMTP
$mail->Host = 'xxxxhost.com'; // Specify main and backup SMTP servers
$mail->SMTPAuth = true; // Enable SMTP authentication
$mail->Username = '[email protected]'; // SMTP username
$mail->Password = 'xxxxxxxxxxxx'; // SMTP password
$mail->SMTPSecure = 'tls'; // Enable TLS encryption, `ssl` also accepted
$mail->Port = 25; // TCP port to connect to
$mail->setFrom($mail, $name); // this value not received
// Add a recipient
$mail->addAddress('[email protected]'); // Name is optional
$mail->isHTML(true); // Set email format to HTML
$mail->Subject = $subject;
$mail->Body = $message;
if(!$mail->send()) {
echo 'Message could not be sent.';
echo 'Mailer Error: ' . $mail->ErrorInfo;
} else {
echo 'Message has been sent';
}
?>
也许我无法解释什么我需要但最后我解决它 –
$ mail-> setFrom($ mail,$ name); //这行鳕鱼不工作,但当我直接把$ _POST它的工作很好 $ mail-> setFrom($ _ POST ['email'] ;, $ _POST ['name'];); //它的工作 也许它不是一个正确的格式来放鳕鱼,但它为我工作 再次我会告诉你我在QSn setFrom中说的是什么setFrom Value意味着用户电子邮件和用户名称在我打电话时不会发送cods好的,谢谢你的帮助 –
你确实需要设置一个From地址,但是不要使用表单中的用户值,这是不安全的。我会修改我的答案来提供一个例子。 – Synchro