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

网站联系表单外域邮箱发送失败(553错误)解决方案求助

问题分析与解决方案

错误原因

你遇到的553错误是因为你的SMTP邮件服务器不允许使用外域邮箱作为发件人——它要求发件人必须是隶属于mydomain.co的账号,而用户提交的abc@gmail.com这类外域邮箱不符合这个要求,所以被拒绝了。

实现外域邮箱提交的正确方式

完全可以支持用户用外域邮箱提交表单,核心是不要把用户的邮箱设为发件人,而是用你的本域客服邮箱(sales@mydomain.co)作为发件人,同时把用户的邮箱设置为回复地址(Reply-To),这样客服回复时能直接回复到用户的邮箱,也能绕过服务器的发件人验证限制。

修改你的send_mail方法如下:

def send_mail(self):
    logger.info("Sending email to customer service")
    subject = "Site message"
    # 调整邮件内容,明确标注用户信息
    message = f"From: {self.cleaned_data['name']}\nUser Email: {self.cleaned_data['email']}\n\n{self.cleaned_data['message']}"
    # 用本域邮箱作为发件人
    sender_email = 'sales@mydomain.co'
    recipient_list = ['sales@mydomain.co']
    # 添加Reply-To头,指定用户邮箱为回复地址
    send_mail(
        subject,
        message,
        sender_email,
        recipient_list,
        fail_silently=False,
        headers={'Reply-To': self.cleaned_data['email']}
    )

补充说明

  • 这样修改后,邮件的发件人是sales@mydomain.co,符合服务器的验证要求,不会再触发553错误。
  • 邮件内容里保留了用户的姓名和邮箱,客服能清楚知道是谁发来的消息。
  • 通过Reply-To头,客服在邮件客户端点击“回复”时,收件人会自动填充为用户的邮箱,不影响沟通流程。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.08 06:42:17