【问题标题】:Using domain mail server for sendmail使用域邮件服务器发送邮件
【发布时间】:2015-03-16 23:36:57
【问题描述】:

这段php脚本是:

$sendmail=1;

$sendmail_path='/path/to/sendmail';

$smtp_server='localhost';

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

【问题讨论】:

  • 那么...有什么问题?如果您按照主持人的指示更改 $smtp_server 值会怎样?
  • hogator给出的smtp邮件路径,即。我的主机是:/home/username/mail/domain.tld/用户名。我正在使用我的 smtp 邮件即。 info@telugugreetings.net。我给了 SMTP 邮件的以下路径 /home1/我的域用户名/mail/myfull 域名/info 但是我收到错误,即在 /home1/我的域用户名/mail/telugugreetings.net 找不到 SMTP 服务器/info 请帮我配置 谢谢
  • 您的 SMTP 服务器不会是您服务器上的文件路径。这可能是$sendmail_path 的有效设置,但$smtp_server 可能只是像mail.domain.net 这样的主机名,正如您在问题中所建议的那样。

标签: smtp localhost sendmail


【解决方案1】:

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

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

如果您有一台 Windows 机器: SMPT 的 PHP 设置是 "PHP_INI_ALL, Entry can be set anywhere"
这意味着该指令可以设置运行时,在:

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

获取 SMPT 配置设置:

echo ini_get('SMTP');

设置 SMTP

ini_set ('SMTP', $SMPTServer)

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

【讨论】:

  • 谢谢 在哪里插入这段代码 我之前试过 $smtp_server='mail.mysite.net';但它没有奏效
  • @pdurvasula,您在此处收到不同的错误消息吗?您没有向我们提供足够的代码或其他信息来说明问题所在。
  • @Chris,请查看链接文本,了解代码执行时收到的代码和错误消息:telugugreetings.net/code.txt 谢谢
  • 我在我的答案中包含了一个链接,该链接将您带到包含所有 sendmail 运行时设置的 PHP 手册。您可以将其放入您的 PHP 脚本 ini_set ('SMTP', 'mail.mysite.net') 或使用您的 IP 地址,例如('SMTP', '123.456.789') )
【解决方案2】:

您尝试过的设置之一

<?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 客户端标识自己。

确保正确设置“发件人”字段。它可能应该是以@telugugreetings.net 结尾的东西。在不了解您的邮件服务器和 PHP 代码的更多信息(包括您可能用于发送邮件的任何库)的情况下,我无法更具体。

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

【讨论】:

  • 谢谢。由于我的主机没有正确回复并且不合作,我想使用 google smtp 服务器来达到目的,尽管要发送的邮件数量有限制。我应该使用什么代码以及将我的邮件配置文件放在哪里?自从我的主机更换服务器以来,我的网站已经关闭了一个多月,请帮助我并缓解紧张情绪。再次感谢
  • 使用 Gmail SMTP 并不是一个好主意,原因有很多。您可能需要更新您的域的 DNS MX 记录。它应该设置为mail.telugugreetings.net,以匹配您的 PHP 设置。
  • 谢谢 我的主机说我们没有为共享主机客户设置 rDNS 或 PTR 记录。我了解,如果未启用,则无法按照我的情况进行邮件中继。由于我的技术知识很少,我什么也做不了。我对事物的了解很少。我无法了解技术细节。
  • @pdurvasula,我真的认为在这一点上你最好的选择是与你的主人多谈谈。他们比我有更多关于如何设置服务器的信息。我相信我已经在这里回答了你的问题。如果您同意,请accept the answer。如果您还有其他问题,please submit them separately
猜你喜欢
  • 1970-01-01
  • 2011-08-19
  • 2019-06-20
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2018-01-25
  • 2018-12-29
相关资源
最近更新 更多