使用域邮件服务器for sendmail

时间:2015-01-19 00:59:34

标签: smtp localhost sendmail

这段PHP脚本是:

$的sendmail = 1;

$ sendmail_path = '/路径/到/ sendmail的';

$ smtp_server = '本地主机';

我的webhost要我使用我的域名smtp邮件服务器mail.xxxxx.net而不是“localhost”,否则sendmail会被阻止。 我不知道如何重置脚本。 请帮我 感谢

2 个答案:

答案 0 :(得分:0)

您尝试过的其中一项设置

<?php

$smtp_server='mail.telugugreetings.net';

实际上是正确设置,如错误消息所示:

  

其他错误:550拒绝访问 - 无效的HELO名称(请参阅RFC2821 4.1.1.1)

这是SMTP错误,因此您已成功连接到SMTP服务器。此错误表示completely different problem

  

4.1.1.1扩展的HELLO(EHLO)或HELLO(HELO)

     

这些命令用于标识SMTP服务器的SMTP客户端。参数字段包含SMTP客户端的完全限定域名(如果有)。在SMTP客户端系统没有有意义的域名的情况下(例如,当其地址被动态分配并且没有可用的反向映射记录时),客户端应该发送一个地址文字(参见4.1.3节),可选地遵循通过有助于识别客户端系统的信息。 y SMTP服务器在连接问候答复和对此命令的响应中向SMTP客户端标识自己。

确保正确设置“发件人”字段。它可能应该以{{1​​}}结尾。在不了解您的邮件服务器和PHP代码的更多信息的情况下,包括您可能用来发送邮件的任何库,我不能更具体。

您可能需要再次与托管服务提供商联系,询问此新错误消息。

答案 1 :(得分:-1)

PHP手册的mail()运行时配置说:
仅在Windows下使用:PHP服务器的主机名或IP地址应用于使用mail()函数发送的邮件。
Click Here for PHP Mail Runtime configuration

这是您本地的Windows机器吗?
你在Windows机器上托管?
如果不是Windows,则忽略SMTP指令。

如果您有Windows机器: SMPT的PHP设置为"PHP_INI_ALL, Entry can be set anywhere"
这意味着该指令可以设置为Runtime,在:

 php.ini, .htaccess, httpd.conf or .user.ini 

获取SMPT配置设置:

echo ini_get('SMTP');

设置SMTP

ini_set ('SMTP', $SMPTServer)

其中$ SMPTServer 是PHP应该用于发送邮件的SMTP服务器的主机名或IP地址。