向Django EmailMultiAlternatives添加回复地址

3 投票
2 回答
2716 浏览
提问于 2025-04-18 12:51

我正在尝试在使用Django的EmailMultiAlternatives格式时添加一个“回复到”的邮箱。

文档中展示了如何使用EmailMessage类来做到这一点,但没有说明在使用EmailMultiAlternatives时该怎么做。 https://docs.djangoproject.com/en/dev/topics/email/?from=olddocs#sending-alternative-content-types

谢谢你的反馈。

2 个回答

1

如果你还想提供一个名字和邮箱,比如 John Doe <john.doe@example.com>

email = AnymailMessage(reply_to=["John Doe <john.doe@example.com>"])
email = AnymailMessage(
    reply_to=["{} <{}>".format(
        serializer.validated_data["name"], 
        serializer.validated_data["email"])])
12

要在 EmailMultiAlternatives 中添加 Reply-To,你需要用和在 EmailMessage 中相同的方法来做。

从 Django 的源代码中可以看到,EmailMultiAlternatives 是从 EmailMessage 继承而来的,所以它们在初始化时接受的参数是一样的。

所以,要添加 Reply-To,可以这样做:

msg = EmailMultiAlternatives(headers={'Reply-To': "another@example.com"})

更新于 2015年1月1日

从 Django 1.8 开始,你可以这样做:

msg = EmailMultiAlternatives(reply_to=["another@example.com"])

撰写回答