如何使用包含javascript django的html模板发送电子邮件?
我有一个从django呈现特定日期时间字符串的电子邮件模板。我想根据用户的时区渲染这个时间。为了解决这个问题,我选择了使用如何使用包含javascript django的html模板发送电子邮件?,javascript,django,django-templates,django-email,Javascript,Django,Django Templates,Django Email,我有一个从django呈现特定日期时间字符串的电子邮件模板。我想根据用户的时区渲染这个时间。为了解决这个问题,我选择了使用momentjs,但是有一次,模板中的javascript似乎没有运行,任何用javascript包装的东西都没有出现在电子邮件中。基于此回答,电子邮件客户端不包含外部css,我假设javascript也存在同样的问题,我将如何使其得到认可。来扩展@IainShelvington所说的内容,并回答 @oma0256 ... 如何确定用户的时区 。。。下面是如何在生成电子邮件之
momentjs
,但是有一次,模板中的javascript似乎没有运行,任何用javascript包装的东西都没有出现在电子邮件中。基于此回答,电子邮件客户端不包含外部css,我假设javascript也存在同样的问题,我将如何使其得到认可。来扩展@IainShelvington所说的内容,并回答
@oma0256
... 如何确定用户的时区
。。。下面是如何在生成电子邮件之前通过JavaScript(在浏览器中)获取时区偏移量
const timezone = (new Date).getTimezoneOffset() / 60;
。。。再次注意,这将不会在电子邮件中运行,而是应该在从服务使用的任何模板生成电子邮件时使用
关于问题的第二部分
@oma0256
... 例如,根据他们的电子邮件
。。。但是,如果幸运的话,这些信息将在电子邮件头中,那么这些东西(很像任何其他客户端提供的数据)是不可信的
归属
电子邮件客户端不会加载或运行任何JS。在发送电子邮件之前,您的应用程序需要知道用户的时区,并使用该时区呈现电子邮件。您可以使用此答案中指定的时区,或者这仅适用于css。这些软件包将css转换为生成的HTML电子邮件上的内联
样式属性。体面的电子邮件客户端永远不会支持运行附加到电子邮件的JS哦。。。好的,谢谢@iainshelvington指定原因:JS可能包含恶意代码,即安全风险