当我的Drupal网站尝试在用户注册时发送欢迎电子邮件时出现以下错误:无法连接到邮件服务器" secure.emailsrvr.com"端口465,验证您的" SMTP"和" smtp_port"在php.ini中设置或使用ini_set()
我首先在PHP.ini中设置以下内容:
SMTP = secure.emailsrvr.com
SMTP_PORT = 465
sendmail_from = support@managerspitstop.com
username = support@managerspitstop.com
password = ****
但我仍然遇到上述错误,所以我将以下内容添加到mail.inc文件中,该文件是Drupal站点中的文件:
ini_set("SMTP","secure.emailsrvr.com");
ini_set("smtp_port","465");
ini_set("username", "support@managerspitstop.com");
ini_set("password", "*****");
ini_set("sendmail_from", "support@managerspitstop.com");
但仍然得到同样的错误。所以我联系了我已经设置了电子邮件的Rackspace,他们告诉我我使用的设置是正确的。为了测试这一点,我将电子邮件添加到Outlook 2013发送并发送电子邮件并收到一封电子邮件。
我环顾四周,无法找到解决方案。任何帮助将不胜感激。
答案 0 :(得分:0)
请注意,这只是提示更好的调查手段,而不是答案。
当您尝试发送电子邮件时,对当前正在进行的操作进行数据包级别检查将是有益的。
为此,请安装tcpdump:
apt-get install tcpdump
并开始数据包捕获(以root身份运行):
tcpdump -i any -s 0 -w /tmp/sniff-465.pcap port 465
执行尝试向SMTP服务器提交电子邮件所需的步骤,等待响应并按CTRL + C停止数据包捕获。可以分析生成的文件(/tmp/sniff-465.pcap)(使用wireshark,即),以确定尝试的SMTP事务的确切行为。
答案 1 :(得分:0)
BLOODY DRUPAL!管理以使其工作。结果我的电子邮件设置一直都是正确的。
我通过下载Drupals SMTP模块修复了它,我将其置于httpdocs / sites / all / modules / smtp中,然后我下载了phpmailer版本2.2.1(只有在运行Drupal 6.x且不使用版本时才需要) PHPMailer高于2.2.1,因为它不起作用)https://github.com/PHPMailer/PHPMailer/releases/tag/v2.2.1我把它放在httpdocs / sites / all / modules / smtp / phpmailer。
一旦对其进行了排序,我就进入了Drupal网站的“管理”部分,然后进入模块部分并输入了电子邮件设置,并且它运行了BAM:D。