我如何可以完全个性化电子邮件的外观?

您好,希望您一切安好:我想完全自定义电子邮件的外观(例如:更改布局、删除个人资料图片、圆角等),该如何操作?

例如,我想修改摘要电子邮件:

并且我想自定义回复电子邮件:

提前感谢您的任何回复。

不太确定您所说的自定义回复是什么意思,因为回复是由其他人发送的(而且我不认为有人会回复摘要……),但这可以作为一个好的开始:Configuring Activity Summary emails

1 个赞

抱歉,让我来澄清一下,当我说“自定义回复电子邮件”时,我的意思是我想修改当用户收到电子邮件通知时,有人回复了他们的主题的外观。


在我的用例中,我已经设置好可以让群组收到电子邮件。

假设用户 A群组 B 发送电子邮件,然后群组 B 的某个成员回复了用户 A 的消息,用户 A 会收到一封电子邮件,其中包含个人资料图片、消息内容以及群组 B 成员的姓名,目前我不喜欢这封电子邮件的外观。

例如;我想移除回复用户 A 消息的用户的个人资料图片,我还想改变文本的外观以及电子邮件的许多其他因素。


我该如何着手处理这个问题?

这可能是个不错的起点:Customizing the Discourse outer email template

3 个赞

我已经看过这个了,但这仍然不能提供我实现预期效果所需的知识,因为它只影响外部电子邮件模板。例如,我将如何删除这些组件?

我尝试在 /admin/customize/email_templates 中更改我的电子邮件通知模板,但似乎没有任何事件适用于有人通过电子邮件发送内容时。

我所有的答案都用完了,抱歉。这不是我的专长!

1 个赞

我认为你可以用 CSS 来隐藏它们,尽管我不确定你为什么想让收件人不知道是谁写的消息。

话虽如此,我不太确定在哪里可以自定义电子邮件 CSS。

1 个赞

也许我会尝试通过 /admin/customize/email_style/css 修改 CSS,看看是否能达到预期的效果。

1 个赞

那就是你会这么做的地方!

1 个赞

我想指出的是,在 Gmail 中 .webp 图片显示非常奇怪……

Png 格式:

Webp 格式:

WebP 文件(标准格式):


幸运的是,这对我们来说不是一个关键问题,但我想为其他人指出这一点。

这是一个复杂的系统,但该主题链接到有关如何自定义电子邮件内部内容的主题:https://meta.discourse.org/t/customize-specific-email-templates/88323。想法是您应该能够通过在管理员/自定义/电子邮件页面中选择它们来自定义特定模板。

对于“用户帖子”模板,您会看到类似这样的内容:

%{header_instructions}

%{message}

%{context}

%{respond_instructions}

我认为您可以通过删除 %{context} 占位符来删除屏幕截图底部的项目。

2 个赞

感谢您的回复:

我尝试了此操作,但是 User Posted PM 事件似乎不起作用,并且模板似乎并未影响电子邮件返回的内容,即使我将所有文本覆盖为单个单词。

我有一段时间没测试这个了,但我想如果你没看到任何变化,你可能编辑错了模板。请注意,“User Posted”(用户发帖)是用于普通主题帖子通知的模板,“User Posted PM”(用户发帖私信)是用于与私信相关的通知。

此外,还有不少与发帖相关的模板:User Mentioned(用户提及)、User Posted(用户发帖)、User Quoted(用户引用)、User Replied(用户回复)……

2 个赞

哎呀!我尝试更改了“User Replied”、“User Posted PM”和“User Posted”。这是一个用户和群组之间的对话,这会影响它吗?

我对模板所做的任何更改似乎都没有产生任何效果……

触发电子邮件的操作是什么?例如,是用户从群组页面点击“消息”按钮吗?

2 个赞

该用户是一个暂存用户,他向群组的收件电子邮件地址发送电子邮件。

1 个赞

我无法在本地测试已暂存用户发送的电子邮件的处理方式。如果电子邮件发送到群组的电子邮件地址,我仍然期望回复将使用“用户发布的 PM”模板;如果电子邮件发送到分类的收件电子邮件地址,则使用“用户发布的”模板。

我认为 Discourse 实际上已经自定义了用于处理暂存用户回复的电子邮件模板,就在 Meta 上。不过,我可能记错了。无论如何,弄清楚这一点并将其添加到 Customizing specific system email templates 的列表中将会很有帮助。

1 个赞

我再次尝试更改用户发布的PM模板,但仍然没有成功。

您需要修改这些模板:

这超出了我的知识范围,不知道是否可以通过主题组件实现,还是需要编写插件。

1 个赞

这很有趣,我见过这个,我找到了一些相关的旧帖子:

如何更改摘要电子邮件模板的样式? - dev - Discourse Meta

示例插件:自定义活动摘要模板 - plugin - Discourse Meta

一个较新的帖子:如何在嵌入中显示全名 - dev - Discourse Meta 也许能帮我达到想要的效果,我稍后会尝试一下,并让大家知道我的进展。