如何在ubuntu中安装配置sendmail,以实现发邮件发送(还可在php中发送,也可发匿名邮件)
一.安装sendmail
sudo apt install sendmail
二.修改/etc/hosts文件,添加localhost.localdomain项(全限定域名)
sudo vim /etc/hosts
修改后如下:
127.0.0.1 localhost.localdomain localhost lenix-Swift-SF314-512
127.0.1.1 lenix-Swift-SF314-512
三.修改sendmail.mc配置
cd /etc/mail
sudo vim sendmail.mc
找到以下2行:
DAEMON_OPTIONS(`Family=inet, Name=MTA-v4, Port=smtp, Addr=127.0.0.1')dnl
DAEMON_OPTIONS(`Family=inet, Name=MSP-v4, Port=submission, M=Ea, Addr=127.0.0.1')dnl
在前面加dnl
代表注释掉这2行,以使能够进行外网访问 .
修改后如下:
dnl DAEMON_OPTIONS(`Family=inet, Name=MTA-v4, Port=smtp, Addr=127.0.0.1')dnl
dnl DAEMON_OPTIONS(`Family=inet, Name=MSP-v4, Port=submission, M=Ea, Addr=127.0.0.1')dnl
在sendmail.mc
最后添加3行:其中lenixhost
,可以改为你想要的.
define(`SMART_HOST',`
lenixhost
')dnl
define(`RELAY_MAILER', `esmtp')dnl
define(`RELAY_MAILER_ARGS', `TCP $h 587')dnl
四.修改local-host-names配置.
vim local-host-names
加一行
lenixhost
此和上一步define(`SMART_HOST',`
lenixhost
')dnl
中加的名称一定要一样.
五.更新配置
cd /etc/mail
make
六.重启sendmail
sudo /etc/init.d/sendmail restart
七.修改PHP配置(可选:PHP发邮件需要配置)
sudo vim /etc/php/8.1/cli/php.ini
sudo vim /etc/php/8.1/fpm/php.ini
修改sendmail_path为:
sendmail_path= /usr/sbin/sendmail -t -i
重启PHP:
sudo service apache2 restart
或 sudo service php8.1-fpm restart
八.测试
终端发邮件测试 :需要安装mailutils.
echo helloworld | mail -s test xxxxxxxxx@qq.com
PHP发邮件测试:
php -a
mail('someonexxxxx@qq.com', 'My Subject', 'ssssssssss');
以上在ubuntu 18.04,ubuntu22.04中通过 .
参考:
https://linuxconfig.org/sendmail-unqualified-hostname-unknown-sleeping-for-retry-unqualified-hostname