[英]Drupal - PHP SMTP Settings are correct but email will not send
當我的Drupal網站嘗試在注冊用戶時發送歡迎電子郵件時,出現以下錯誤:無法通過“ secure.emailsrvr.com”端口465連接到郵件服務器,請驗證php中的“ SMTP”和“ smtp_port”設置.ini或使用ini_set()
首先,我在PHP.ini中設置了以下內容:
SMTP = secure.emailsrvr.com
SMTP_PORT = 465
sendmail_from = support@managerspitstop.com
username = support@managerspitstop.com
password = ****
但是我仍然遇到上面的錯誤,因此我將以下內容添加到了Drupal站點內的文件mail.inc中:
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的發送和發送電子郵件中,並收到一封很好的電子郵件。
我環顧四周,找不到解決方案。 任何幫助將不勝感激。
請注意,這只是更好的調查手段的提示,而不是答案。
當您嘗試發送電子郵件時,最好對當時發生的事情進行數據包級檢查。
為此,請安裝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)進行分析(例如使用wirehark),以了解嘗試的SMTP事務的確切行為。
血腥的小家伙! 設法使其工作。 原來我的電子郵件設置一直都是正確的。
我通過下載放置在httpdocs / sites / all / modules / smtp中的Drupals 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。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.