【问题标题】:Problem with Free SMTP Server in php codephp代码中的免费SMTP服务器问题
【发布时间】:2010-03-26 15:33:39
【问题描述】:

我编写了用于联系我们表单的 php 代码

但我找不到免费的 SMTP 服务器来使用它。

我尝试为 Gmail 使用 SMTP 服务器,但我发现了这个错误。

警告:mail() [function.mail]: “sendmail_from”未在 php.ini 中设置或 自定义“发件人:”标头丢失 C:\www\htdocs\contactUs.php 上线 25"

第 25 行是:

mail ($to,$subject,$body,$headers);

表示使用 Gmail SMTP 服务器的声明是:

ini_set("SMTP","smtp.gmail.com");

所以,你能帮帮我吗?:(

【问题讨论】:

  • 在 php.ini 中设置 sendmail_from。哦,等等,这就是消息已经告诉你的......
  • 对不起,你能告诉我怎么做吗? :) 我在 php 标签之间的 php 代码中设置它!!

标签: php email smtp


【解决方案1】:

发送邮件时,您需要邮件的From: [VALID EMAIL] 标头。尝试做这样的事情:

$headers = array(
    'From: me@example.com',
    'Mime-Type: text/plain; charset=utf-8',
);

$dest = 'some_user@example.com';
$subj = 'test';

$message = 'hello world';

mail($dest, $subj, $message, implode("\r\n", $headers));

此外,mail 函数旨在用作邮件守护程序的前端,该邮件守护程序在运行 Web 服务器的同一台服务器上运行。由于大多数 *NIX 机器都有这两者,所以它通常可以工作。

但是,我不建议使用远程服务器来发送您的邮件。让与生成消息的服务器相同的服务器发送消息会更加高效和可靠(更不用说看起来更专业了)。

设置您自己的 SMTP 服务器既简单又免费,而且比 Gmail 更灵活。 Gmail 不会发送From: 标头与主帐户地址或连接地址不匹配的邮件。

【讨论】:

    猜你喜欢
    • 2017-11-25
    • 2014-03-08
    • 1970-01-01
    • 1970-01-01
    • 2018-03-10
    • 2010-12-09
    • 1970-01-01
    • 2013-03-21
    • 2011-10-26
    相关资源
    最近更新 更多