当前位置: 首页 > news >正文

ubuntu使用Postfix外部SMTP代理发送邮件

需求

ubuntu使用指令发送邮件。普通的mail指令通常被识别为垃圾邮件,且由于ubuntu主机邮箱地址不正规,执行指令几次后常被鉴定为风险地址从而禁止。对此,使用外部SMTP代理,驱动正规地址(例如qq邮箱)向指定邮箱发送。

安装软件

# 安装软件,安装界面中保持默认配置即可
sudo apt install mailutils

配置用于发送邮件的SMTP服务器

新建sudo vim /etc/postfix/sasl_passwd

[smtp.qq.com]:587 qqcode@qq.com:password

其中password是QQ邮箱授权码。进入“QQ邮箱 -> 账号与安全 -> 安全设置 -> POP3/IMAP/SMTP/Exchange/CardDAV 服务”。
在这里插入图片描述
接着执行sudo postmap /etc/postfix/sasl_passwd,成功的话会生成sasl_passwd.db

配置主机地址映射

当使用QQ作为SMTP服务器时,要求ubuntu主机邮件名称和上一节授权的QQ邮箱相同(gmail则不用),如下:
新建sudo vim /etc/postfix/generic

user@user qqcode@qq.com

其中user@user是我的主机自动生成的地址。
然后执行sudo postmap /etc/postfix/generic,生成generic.db

修改权限

sudo chown root:root /etc/postfix/sasl_passwd /etc/postfix/sasl_passwd.db /etc/postfix/generic /etc/postfix/generic.db
sudo chmod 0600 /etc/postfix/sasl_passwd /etc/postfix/sasl_passwd.db /etc/postfix/generic /etc/postfix/generic.db

Postfix配置

修改sudo vim /etc/postfix/main.cf,添加:

relayhost = [smtp.qq.com]:587
smtp_use_tls = yes
smtp_sasl_auth_enable = yes
smtp_sasl_password_maps = hash:/etc/postfix/sasl_passwd
smtp_sasl_security_options = noanonymous
smtp_tls_CAfile = /etc/ssl/certs/ca-certificates.crt
smtp_generic_maps = hash:/etc/postfix/generic

重启 Postfix 服务:sudo service postfix restart

测试

echo "任务完成,结果已保存" | mail -s "你好啊" qqcode@qq.com
如果成功,则可以收到自己给自己发送的qq邮件。

可以查看/var/log/mail.log发现错误。

相关文章:

  • Java多态详解
  • Java高频面试之并发编程-15
  • LVGL(lv_btn按键类)
  • 游戏引擎学习第271天:生成可行走的点
  • CTFd CSRF 校验模块解读
  • Java 中 AQS 的实现原理
  • 深入理解设计模式之原型模式(Prototype Pattern)
  • 复现nn-Unet模型 实验报告
  • 【我的创作纪念日】512
  • 编程日志5.3
  • Day21打卡—常见降维算法
  • 免安装 + 快速响应Photoshop CS6 精简版低配置电脑修图
  • Linux PCI 驱动开发指南
  • AI日报 · 2025年05月11日|传闻 OpenAI 考虑推出 ChatGPT “永久”订阅模式
  • 【React中useRef钩子详解】
  • 【数据结构入门训练DAY-31】组合的输出
  • 【音视频工具】MP4BOX使用
  • k8s 资源对比总结
  • 通过 Azure DevOps 探索 Helm 和 Azure AKS
  • istio in action之应用弹性与容错机制
  • 福建厦门市副市长、市公安局局长陈育煌出任吉林省公安厅厅长
  • 习近平同巴西总统卢拉会谈
  • 书法需从字外看,书法家、学者吴本清辞世
  • 为发期刊,高校学者偷贩涉密敏感数据!国安部披露间谍案细节
  • 玉渊谭天丨一艘航母看中国稀土出口管制为何有效
  • 毕赣新作《狂野时代》入围戛纳主竞赛单元,易烊千玺舒淇主演