linux 发送邮件 554,linux – Sendmail:“TLS verify = FAIL”,“554 5.1.8:发件人地址被拒绝:未找到MX记录”...

已经挣扎了一天已经无法找到解决方案.当尝试向某些主机发送邮件时:

Jan 5 10:31:37 vps**** sm-mta[2192]: STARTTLS=client,relay=mail-x.*****.co.uk.,version=TLSv1/SSLv3,verify=FAIL,cipher=DHE-RSA-AES256-SHA,bits=256/256

Jan 5 10:31:37 vps**** sm-mta[2192]: u059Vb4d002190: to=,ctladdr= (0/0),delay=00:00:00,xdelay=00:00:00,mailer=esmtp,pri=124764,relay=mail-x.****.co.uk. [212.46.138.29],dsn=5.1.8,stat=Service unavailable

经过一番研究发现它可能是TLS问题所以试图禁用并添加:

Try_TLS: NO

但后来我得到:

Jan 5 10:33:56 vps**** sm-mta[2375]: ruleset=try_tls,arg1=mail-x.****.co.uk,relay=mail-x.****.co.uk,reject=550 5.7.1 ... do not try TLS with mail-x.****.co.uk [212.46.138.29]

Jan 5 10:33:56 vps**** sm-mta[2375]: u059XuVY002373: to=,stat=Service unavailable

我的sendmail版本和设置:Ubuntu上的8.14.4

============ SYSTEM IDENTITY (after readcf) ============

(short domain name) $w = vps****

(canonical domain name) $j = vps****.ovh.net

(subdomain name) $m = ovh.net

(node name) $k = vps****.ovh.net

========================================================

有任何想法吗?

附加信息:

以详细模式发送测试消息会生成以下错误:

554 5.1.8 : Sender address rejected: MX record not found

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
这个错误通常是因为你没有在发送邮件之前连接到邮件服务器。在使用 smtplib 发送邮件时,你需要先使用 `smtplib.SMTP()` 方法连接到邮件服务器,然后再使用 `login()` 方法进行登录,最后才能使用 `sendmail()` 方法发送邮件。 下面是一个简单的示例代码,你可以参考一下: ``` import smtplib from email.mime.text import MIMEText # 邮件服务器地址和端口号 mail_host = 'smtp.xxx.com' mail_port = 465 # 发件人邮箱地址和密码 mail_user = 'sender@example.com' mail_password = 'password' # 收件人邮箱地址 recipients = ['recipient@example.com'] # 邮件内容 message = MIMEText('这是一封测试邮件。') message['Subject'] = '测试邮件' message['From'] = mail_user message['To'] = ','.join(recipients) # 连接邮件服务器并登录 smtp_obj = smtplib.SMTP_SSL(mail_host, mail_port) smtp_obj.login(mail_user, mail_password) # 发送邮件 smtp_obj.sendmail(mail_user, recipients, message.as_string()) # 断开连接 smtp_obj.quit() ``` 在上面的代码中,我们首先定义了邮件服务器的地址、端口、发件人邮箱地址和密码,以及收件人邮箱地址。然后创建了一封包含邮件内容的 MIMEText 对象,并设置了邮件的主题、发件人和收件人。接着使用 `smtplib.SMTP_SSL()` 方法连接到邮件服务器,并使用 `login()` 方法登录。最后使用 `sendmail()` 方法发送邮件,并使用 `quit()` 方法断开连接。 如果你仍然遇到 `smtplib.SMTPServerDisconnected: please run connect() first` 错误,可能是由于连接超时或网络问题造成的。你可以尝试增加连接超时时间或检查网络连接是否正常。

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值