You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Python3使用1and1 Ionos账号发送邮件出现SSL错误如何解决?

修正方案

报错本质是Ionos SMTP服务拒绝了低版本TLS握手请求,同时原代码存在语法错误,按以下步骤调整即可:

核心调整点

  • 引入ssl模块自定义安全上下文,强制使用TLS 1.2及以上版本进行握手
  • 修复原代码中拼接收件人字段的语法错误:将", ".MAIL_2改为", ".join(MAIL_2)

完整可运行代码

import smtplib
import ssl

MAIL_2 = ['test@sulley.info']
FROM_ADDR = 'mick@sulley.info'
SUBJECT = 'Mail Subject via Ionos'
BODY = 'Body of message'
PASSWORD = 'mypassword'
SMTP_SERVER = "smtp.ionos.co.uk"
SMTP_PORT = 587

# 自定义SSL上下文,强制最低TLS版本为1.2
context = ssl.create_default_context()
context.minimum_version = ssl.TLSVersion.TLSv1_2

with smtplib.SMTP(SMTP_SERVER, SMTP_PORT) as smtpserver:
    smtpserver.ehlo()
    smtpserver.starttls(context=context)
    smtpserver.ehlo()
    smtpserver.login(FROM_ADDR, PASSWORD)
    header = 'To:' + ", ".join(MAIL_2) + '\n' + 'From: ' + FROM_ADDR + '\n' + 'Subject: ' + SUBJECT + '\n'
    mmsg = header + '\n' + SUBJECT + '\n' + BODY + '\n\n'
    smtpserver.sendmail(FROM_ADDR, MAIL_2, mmsg)

注意事项

  • 如果你的Ionos账号开启了两步验证,需要在账号后台生成专属应用密码替换代码中的PASSWORD值
  • 发件人地址必须是Ionos账号下已验证的有效邮箱,不可使用未备案的别名地址
  • 生产环境不要硬编码明文密码,建议通过系统环境变量读取敏感信息

内容的提问来源于stack exchange,提问作者Mick Sulley

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.29 09:36:09