这段PHP脚本是:
$ smtp_server = '本地主机';
我的webhost要我使用我的域名smtp邮件服务器mail.xxxxx.net而不是“localhost”,否则sendmail会被阻止。 我不知道如何重置脚本。 请帮我 感谢
答案 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地址。