linux系统默认开启发送邮件功能,但只能linux用户间发送邮件,不能发送外部邮件。
方法:
1. 查看sendmail进程是否开启。你在shell输入 ps -aux | grep 'sendmail'
2. 使用mail命令发送邮件,例如发送给root用户
mail -s 'send mail' root 按回车键
3. 输入邮件内容
4. 按ctrl+d发送,按ctrl+c退出
5. 切换到root用户,你就可以看到一封邮件,邮件存放在/var/mail/root文件里
mail命令用法:mail -s '邮件标题' 用户名
你可以搜索mail命令
是否可以解决您的问题?
② postfix发送邮件收不到邮件
命令行是 mail -s [email protected] 这样的
看下日子 /var/log/maillog
③ linux下的postfix邮件服务器怎么创建账号
postfix创建邮件账号命令:
useradd-gmail-s/sbin/nologinuser
配置好邮件服务器后,重启dovecot服务。
/etc/init.d/dovecotstart
然后测试,发送接收邮件!
④ 云上那些事: postfix 使用中继模式发送邮件
背景:
由于安全因好扰辩素,阿里云会封掉25port, 这导致我们自建的监控系统无法发送邮件,因为是轻量型应用,申请解封失败,遂按照推荐的方式采用了465 port 和relay的模式进行告警邮件的发送
组件构成:
一个main,cf
一个master.cf
一个sasl_password 和生成的sasl_password.db
一个generic 和生成的generic.db文件
步骤:
由于我李尺们使用的是ubuntu18.04,所以此处以此为例:
#安装postfix
apt upgrade
apt install postfix ,选择 Internet Site ( 如果安装了sendmail 请将其停止或者卸载)
#添加465端口发信
vim /etc/postfix/master,cf
添加 smtps inet n - - - - smtpd
解除注释: -o smtpd_tls_wrappermode=yes
!wq 保存退出
vim /etc/services
添加 smtps 465/tcp mail2
smtps 465/udp mail2
#创建相关授权文件及虚拟映射文件
vim /etc/postfix/sasl_passwd
[smtp.163.com]:465 [email protected]:授权码
!wq 保存退出
postmap /etc/postfix/sasl_passwd 生成sasl_passwd.db 文件
vim /etc/postfix/generic
root@monitor [email protected] (#要和上面文件内的一样)
!wq 保存退出
postmap /etc/postfix/generic 生成generic.db 文件
#编辑主配置文件
vim /etc/postfix/main.cf
新增如下:
smtp_sasl_auth_enable = yes
#smtp_sasl_type = cyrus
smtp_sasl_security_options=noanonymous
smtp_sasl_password_maps = hash:/etc/postfix/sasl_passwd
smtp_tls_security_level = encrypt
smtp_tls_wrappermode = yes
smtp_generic_maps = hash:/etc/postfix/generic
修改如下:
inet_protocols = ipv4
#重启服务
systemctl restart postfix
测试发送,如有问题请检查log
主要报错:
1
status=deferred (delivery temporarily suspended: lost connection with smtp.163.com[220.181.12.12] while receiving the initial server greeting)
要配置relay 模式
2:
status=deferred (SASL authentication failed; cannot authenticate to server smtp.163.com[220.181.12.17]: no mechanism available)
修改/etc/postfix/main.cf
smtp_sasl_security_options=noanonymous
3:
status=bounced (host smtp.163.com[220.181.12.16] said: 553 Mail from must equal authorized user (in reply to MAIL FROM command))
修改 /etc/postfix/generic 把主机名和邮箱名字修复正确。友缺
4
postfix/smtp[3218]: SMTPS wrappermode (TCP port 465) requires setting "smtp_tls_wrappermode = yes", and "smtp_tls_security_level = encrypt" (or stronger)
按照报错提示在主文件添加相关配置项
参考资料: https://itlaws.cn/post/postfix-use-external-smtp/
⑤ linux下,如何通过postfix使用命令行来发送附件
安装的postfix使用mail命令现在是无法正常带附件形式的;
可以使用mutt,但是这个发送的附件在网页端查看有时候会变成bin文件
建议客户端查看这样的测试邮件
yum install mutt
[email protected]"11222"-arsync-3.1.1.tar.gz</root/test.txt
⑥ 如何在Linux下使用mail命令发送邮件到外部
1、首先你得开启25端口,邮件服务器可以用sendmail或postfix,因为发件人是Received: from localhost.localdomain有些邮箱可能会拒绝或当作垃圾邮件
2、发送内容
cat a.txt|mail youremail
3、发送附件
yum -y install sharutils
uuencode a.txt a.txt |mail -s ‘subject’ youremail