Linux使用smtp发送邮件

应公司要求, 我这里需要在服务器上面起一个进程, 来监控服务器的程序状态, 如果有异常的话需要及时发邮件报警
这里为了发邮件遇到的问题还是有点多的, 所以在这里记录一下

  • postfix
    这里刚开始我选择了使用postfix发送邮件, 但是在启动的时候一直报错 unable to set exclusive lock: Resource temporarily unavailable, 这个在百度后才知道, 第一次配置的时候配置有误, 这里只需要删除对应目录下的那个lock文件即可 再次启动的时候仍然报错, 当然了 这次是小错误, 邮件的25接口已经被占用, 这里在杀死25端口占用进程后正常重启 但是仍然不能发送 当然 在这里我也了解到 阿里云是默认禁止25端口的, 所以如果需要发送邮件需要使用其他端口, 这里我使用的是163邮箱, 根据网易官方的配置 我把端口改为465并且使用ssl验证
  • 使用mail发送
    这里在输入echo “test” | mail -s “test” xxx@qq.com后并没有反应 在过一段时间后, 会提示失败,继续百度, 这里配置了下/etc/mail.rc 配置如下
    set from=xxx@163.com
    set smtp=“smtps://smtp.163.com:465”
    set smtp-auth-user=xxx@163.com
    set smtp-auth-password=pass
    set smtp-auth=login
    set passet smtp-use-starttls
    set nss-config-dir=/root/.certs
    但是在配置后 会出现smtp-server: 454 Command not permitted when TLS active 错误, 继续百度, 在查阅了许多的资料后终于发现 完全没有什么卵用, 知道发现一位大神说 163的邮箱的密码要为授权码…权码 … 码… 好吧 继续去163设置授权码. 经过努力,终于,还是没有什么乱用, 而且连错误信息都没有变化, 那么 假设问题出现在这里 根据控制变量法, 上述改变的属性并不是影响邮件发送成功与否的原因, 那么 我在查看了其他博客的相关配置后发现 其他人并没有把passet smtp-use-starttls设置上, 于是我修改配置 注释了这一行 再次发送 邮箱收到邮件
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值