查看sendmail命令是存在的,但就是无法使用mail命令。
一:检查命令及相关组件
终端输入命令:ps aux |grep sendmail
输出如下:
root 20978 0.0 0.3 8300 1940 ? Ss 06:34 0:00 sendmail: MTA: accepting connections
root 21711 0.0 0.1 3008 776 pts/0 S+ 06:51 0:00 grep sendmail
说明sendmail已经安装成功并启动了。应该是缺少相关的组件:
- sudo apt-get install sendmail
- sudo apt-get install sendmail-cf
执行上面命令后,提示为最新版本,这一步可以省略。
安装mailutils组件:
- apt-get update
- apt-get install mailutils
二、配置
sendmail 默认只会为本机用户发送邮件,只有把它扩展到整个Internet,才会成为真正的邮件服务器。
打开sendmail的配置宏文件:/etc/mail/sendmail.mc
vi /etc/mail/sendmail.mc
找到如下行:
DAEMON_OPTIONS(`Family=inet, Name=MTA-v4, Port=smtp, Addr=127.0.0.1′)dnl
修改Addr=0.0.0.0 ,表明可以连接到任何服务器。
sudo vim /etc/php7/etc/php.ini
找到 “;sendmail_path”这句,去掉注释的”;”,然后添加sendmail启动目录
sendmail_path = /usr/sbin/sendmail -t -i
到这里就可以发邮件了。
三、测试发送邮件
常用发送邮件方式如下:
1.如何写一般的邮件: mail test@126.com Cc 编辑抄送对象,Subject:邮件主题,输入回车,邮件正文后,按Ctrl-D结束
2.快速发送方式: echo “邮件正文” | mail -s 邮件主题 test@126.com
注:linux系统必须放开25端口。
四、修改hostname
vi /etc/hostname
第一行写下:sebcxy.com
保存退出。执行: hostname -F /etc/hostname
执行hostname,结果应该变为sebcxy.com
注:有些主机可以不用第四步。
注:有些邮箱会拒绝此类发送邮件的方式。在邮件日志mail.log里表现为:rejected by antispam。遇到此类情况,只能使用域名邮箱发送邮件了。 |