在Ubuntu上配置Laravel郵件服務,你需要遵循以下步驟:
首先,確保你已經安裝了PHP、Composer和Laravel。然后,通過SSH連接到你的Ubuntu服務器,并運行以下命令來安裝郵件傳輸代理(MTA)和SSL證書:
sudo apt-get update
sudo apt-get install postfix mailutils
sudo apt-get install certbot
編輯Postfix的主配置文件/etc/postfix/main.cf
,添加以下內容:
myhostname = yourdomain.com
myorigin = /etc/mailname
inet_interfaces = all
inet_protocols = ipv4
mydestination = $myhostname, localhost.$mydomain, $mydomain
mynetworks = 127.0.0.0/8, 192.168.0.0/16
home_mailbox = Maildir/
將yourdomain.com
替換為你的實際域名。保存文件并退出。
接下來,運行以下命令重啟Postfix服務:
sudo systemctl restart postfix
使用Certbot獲取Let’s Encrypt SSL證書:
sudo certbot --postfix -d yourdomain.com
按照提示操作,完成證書的獲取和安裝。
打開Laravel項目的.env
文件,找到以下配置項并進行修改:
MAIL_MAILER=smtp
MAIL_HOST=smtp.mailtrap.io
MAIL_PORT=2525
MAIL_USERNAME=your_username
MAIL_PASSWORD=your_password
MAIL_ENCRYPTION=tls
MAIL_FROM_ADDRESS=your_email@example.com
MAIL_FROM_NAME="${APP_NAME}"
將yourdomain.com
替換為你的實際域名,your_username
和your_password
替換為你的Mailtrap或你選擇的郵件服務提供商的用戶名和密碼。
在Laravel項目中創建一個新的控制器(如果尚未創建),并添加以下方法來測試郵件發送功能:
use Illuminate\Support\Facades\Mail;
use App\Mail\YourMailable;
public function sendEmail()
{
Mail::to('recipient@example.com')->send(new YourMailable());
return 'Email sent successfully!';
}
創建一個新的Mailable類:
php artisan make:mail YourMailable
編輯app/Mail/YourMailable.php
文件,設置郵件內容和主題。
現在,你可以訪問相應的路由來測試郵件發送功能。如果一切配置正確,你應該能夠收到一封測試郵件。
注意:這里使用的是Mailtrap作為示例郵件服務提供商。你可以根據需要替換為其他郵件服務提供商,并相應地修改.env
文件中的配置。