通过PHP和标题发送邮件?

时间:2011-12-18 17:40:44

标签: php email

当我从我的php脚本发送邮件时,我发送它就像这样

$to = $_POST['email'];
$subject = $_POST['username'] . ' - Validate your account at example.com!';
$message = 'http://www.example.com/activate?username=' . $_POST['username'] . '&code=' . $random;
$headers = 'From: noreply@example.com';

当邮件收到电子邮件时,from标题会显示如下,

noreply@example.com来自web87.extendcp.co.uk

有没有办法可以阻止通过位显示?

4 个答案:

答案 0 :(得分:1)

唯一的解决方案是使用您自己的SMTP服务器,或者至少使用另一个...如果您的提供商允许这样做。

您的提供商的网络服务器会在此处修改From:行。

答案 1 :(得分:0)

是的,您需要实施DKIM signing电子邮件,以便Gmail验证您的服务器是否有权为该域发送电子邮件。

答案 2 :(得分:0)

尝试使用PHP中的IMAP方法

首先连接GMail imap-server: http://www.php.net/manual/en/function.imap-open.php (确保您使用的是SSL / TLS)

然后使用imap_mail()发送消息: http://www.php.net/manual/en/function.imap-mail.php

$host="{imap.gmail.com:993/imap/ssl/novalidate-cert}";
$user=""; // Your GMail-account
$pass=""; // Your GMail-password
if ($mbox=imap_open($host, $user, $pass)) {
    // Connection Success
    $to = "";
    $subject = "";
    $headers = "";
    imap_mail ($to, $subject, $message, $headers)
} else {
    // Failed to connect
}

希望这会有所帮助;)

答案 3 :(得分:0)

虽然fge的答案很可能是正确答案,但如果有' sa&#,则服务器的邮件服务总是有机会添加它。 34;友好"标题中的名称:

From: No Reply <noreply@example.com>

......而不只是:

From: noreply@example.com