簡體   English   中英

PHP函數mail()在AWS EC2服務器上不起作用

[英]PHP function mail() doesn't work on AWS EC2 server

最近,我安裝了基於Ubuntu 14.04的AWS EC2虛擬服務器。 但是我有下一個問題: PHP函數mail()不起作用


  1. 我刪除了sendmail。
  2. 我安裝了sendmail:

    須藤apt-get install sendmail

  3. 我檢查其工作情況:

    ps -aux | grep sendmail

  4. 我更改了php.ini:

    sendmail_path = / usr / sbin / sendmail

  5. 我跑:

    須藤sendmailconfig

所有類別均選擇“ ”。

  1. 重新啟動服務:

    服務sendmail重新啟動

  2. 將我的主機名添加到/ etc / hosts:

    127.0.0.1 localhost.localdomain本地主機myhostname

  3. 我嘗試測試發送:

    echo -e“收件人:myemail@example.com \\ n主題:Test \\ nTest \\ n” | sendmail -bm -t -v

在此處輸入圖片說明

所有電子郵件都存儲在/ var / mail / ubuntu中。


我還能做其他事情嗎?

郵件功能在AWS,azure等基於雲的服務器中不起作用。 我已經遇到了這個問題,並用php mailer庫解決了,所以我建議您使用它。

Ubuntu 16.04 LTS是Amazon EC2的“默認” Ubuntu映像(截至2016年9月),將需要安裝和配置Postfix MTA以便PHP發送郵件。

sudo apt-get update
sudo apt install mailutils

保持“互聯網站點”處於選中狀態,然后輸入正確的主機名。

然后,使用您喜歡的vim或nano編輯器,並修復main.cf文件以僅處理來自本地網絡接口的流量(環回),並將域設置為正確的主機域名。

sudo systemctl restart postfix

詳情請參見: https : //www.digitalocean.com/community/tutorials/how-to-install-and-configure-postfix-as-a-send-only-smtp-server-on-ubuntu-16-04

這就是在運行WordPress應用程序的Ubuntu 16.04上運行出站電子郵件所需要的全部魔術。

祝好運。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM