【问题标题】:PHP MAILER: Root User replace From Information [closed]PHP MAILER:根用户替换信息[关闭]
【发布时间】:2014-01-27 03:27:39
【问题描述】:

这个事件发生得如此随机,我不知道为什么。出现的信息如下所示。

来自:根用户 

下面是我写的sn-p:

$frtname = (!empty($_POST['frtname'])?mysql_real_escape_string($_POST['frtname']) :null); $lstname = (!empty($_POST['lstname'])?mysql_real_escape_string($_POST['lstname']) :null); $email = (!empty($_POST['email'])?mysql_real_escape_string($_POST['email']) :null); $消息=$正文; $new_recipient = 数组( 'user@email.com' => '用户名', 'user1@email.com' => '用户名 1' ); require_once ('phpMailer/class.phpmailer.php'); 尝试{ $mail = 新 PHPMailer(); $mail->SetLanguage("en",'phpMailer/language/'); $mail->优先级=1; $mail->SetFrom(stripcslashes($email), stripcslashes($frtname." ".$lstname), true); $mail->AddReplyTo(stripcslashes($email), stripcslashes($frtname." ".$lstname)); foreach($new_recipient as $email => $name){ $email = str_replace("'", "", $email); $name = str_replace("'", "", $name); $mail->AddAddress($email, $name); } $mail->Subject = stripcslashes($subject); $mail->MsgHTML(stripcslashes($message)); $mail->AltBody = '这封邮件最好以 HTML 格式查看。'; if(!$mail->Send()) { 回声“邮件错误:”。 $mail->错误信息; } 别的 { echo "消息已发送!"; $message="您的信息已收到,点击确定继续"; } $mail->清除地址(); $mail->清除附件(); }catch(phpmailerException $e){ 回声 $e->errorMessage(); $message = "您的信息未发送,请重试。"; }catch(异常 $e){ 回声 $e->getMessage(); 出口; }

我已经在这里使用了 try and catch 方法。任何人都可以提供有关为什么会发生这种情况的见解吗?我要放弃 phpMailer 吗?

【问题讨论】:

标签: php email root mailer


【解决方案1】:

确保设置 Sender 属性以及 From 和 FromName 属性。此外,当您这样做时,请确保它是有效域的电子邮件地址,并带有 MX 和 SPF 记录。

如果未设置 Sender 属性,sendmail 将使用服务器的默认信息注入标头,通常类似于nobody@myserver.com 或 root@myserver.com

【讨论】:

  • 我使用了SetFrom,我看到它可以同时接受姓名和电子邮件
  • 好的。您仍然需要设置 Sender 属性。它与 From 和 FromName 属性分开,对于确保可交付性很重要。
猜你喜欢
  • 2017-02-20
  • 1970-01-01
  • 2013-03-18
  • 1970-01-01
  • 1970-01-01
  • 2015-01-09
  • 1970-01-01
  • 2012-06-14
  • 1970-01-01
相关资源
最近更新 更多