2015-09-07 73 views
0

我在Debian 7上安装了sendmail,正在LEMP上运行一个新的WordPress网站。电子邮件不会发送到带有标题的Wordpress

我有一个自定义的主题安装了联系表单。

联系表格表示发送的电子邮件,但实际上没有发送电子邮件。我试图从电子邮件中删除$headers,发送电子邮件。简单的PHP邮件功能正常工作。相同的自定义主题通过共享主机的表单发送和发送电子邮件

这是自定义窗体的一部分:

有什么不对呢?任何人都可以指出我有什么错,或者我可以怎样开始发送电子邮件?

if(!isset($hasError) && ($correct == true)) { 

    $admin = get_bloginfo('admin_email'); 
    $portfolio = get_bloginfo('name'); 
    $portfolio_url = home_url(); 

    $emailTo = $admin; 
    $pro = get_the_title(); 
    $subject = "You have an message for $pro"; 
    $body = "Hello,\r\n\r\nYou've received an message from ".$name.", for ".$pro." fun name.\r\n\r\nHere are message details:\r\n--------------------------------\r\nBuyer Name: ".$name."\r\nEmail: ".$email."\r\nMessage: ".$message." ".$CurrencyCode."\r\n\r\nMessage: ".$message."\r\n\r\n---------\r\n".$portfolio."\r\n".$portfolio_url; 
    $headers = "From: ".$portfolio." <".$emailTo.">" . "\r\n" . "Reply-To: " . $email; 

    wp_mail($emailTo, $subject, $body, $headers); 

    $emailSent = true; 
} 

谢谢!

+0

打印出您的标题并确保像'$ portfolio'这样的东西没有无效的特殊字符。 – ceejayoz

+0

'$ portfolio'具有简单的Blog名称。 – Rafiq

+0

任何''''或'<'或者什么都不标记?再次,'print $ headers'在某处并且把结果放在这里 – ceejayoz

回答

1

wp_mail有一个与Reply-To标题相关的开放bug。尝试仅删除该标题并检查电子邮件是否正确发送。如果是这样的话,你将不得不创建一个插件来包装它,或者避免设置Reply-To标题。

+0

如果我使用像'wp_mail($ emailTo,$ subject,$ body));'它发送电子邮件,但它不包含标题,即使我删除了'Reply-To:'部分 – Rafiq

+0

然后$ emailFrom必须是问题。 – taxicala