您好,希望您一切安好:我想完全自定义电子邮件的外观(例如:更改布局、删除个人资料图片、圆角等),该如何操作?
例如,我想修改摘要电子邮件:
并且我想自定义回复电子邮件:
提前感谢您的任何回复。
不太确定您所说的自定义回复是什么意思,因为回复是由其他人发送的(而且我不认为有人会回复摘要……),但这可以作为一个好的开始:Configuring Activity Summary emails
抱歉,让我来澄清一下,当我说“自定义回复电子邮件”时,我的意思是我想修改当用户收到电子邮件通知时,有人回复了他们的主题的外观。
在我的用例中,我已经设置好可以让群组收到电子邮件。
假设用户 A 向群组 B 发送电子邮件,然后群组 B 的某个成员回复了用户 A 的消息,用户 A 会收到一封电子邮件,其中包含个人资料图片、消息内容以及群组 B 成员的姓名,目前我不喜欢这封电子邮件的外观。
例如;我想移除回复用户 A 消息的用户的个人资料图片,我还想改变文本的外观以及电子邮件的许多其他因素。
我该如何着手处理这个问题?
我已经看过这个了,但这仍然不能提供我实现预期效果所需的知识,因为它只影响外部电子邮件模板。例如,我将如何删除这些组件?
我尝试在 /admin/customize/email_templates 中更改我的电子邮件通知模板,但似乎没有任何事件适用于有人通过电子邮件发送内容时。
我所有的答案都用完了,抱歉。这不是我的专长!
我认为你可以用 CSS 来隐藏它们,尽管我不确定你为什么想让收件人不知道是谁写的消息。
话虽如此,我不太确定在哪里可以自定义电子邮件 CSS。
也许我会尝试通过 /admin/customize/email_style/css 修改 CSS,看看是否能达到预期的效果。
那就是你会这么做的地方!
这是一个复杂的系统,但该主题链接到有关如何自定义电子邮件内部内容的主题:https://meta.discourse.org/t/customize-specific-email-templates/88323。想法是您应该能够通过在管理员/自定义/电子邮件页面中选择它们来自定义特定模板。
对于“用户帖子”模板,您会看到类似这样的内容:
%{header_instructions}
%{message}
%{context}
%{respond_instructions}
我认为您可以通过删除 %{context} 占位符来删除屏幕截图底部的项目。
感谢您的回复:
我尝试了此操作,但是 User Posted PM 事件似乎不起作用,并且模板似乎并未影响电子邮件返回的内容,即使我将所有文本覆盖为单个单词。
我有一段时间没测试这个了,但我想如果你没看到任何变化,你可能编辑错了模板。请注意,“User Posted”(用户发帖)是用于普通主题帖子通知的模板,“User Posted PM”(用户发帖私信)是用于与私信相关的通知。
此外,还有不少与发帖相关的模板:User Mentioned(用户提及)、User Posted(用户发帖)、User Quoted(用户引用)、User Replied(用户回复)……
哎呀!我尝试更改了“User Replied”、“User Posted PM”和“User Posted”。这是一个用户和群组之间的对话,这会影响它吗?
我对模板所做的任何更改似乎都没有产生任何效果……
触发电子邮件的操作是什么?例如,是用户从群组页面点击“消息”按钮吗?
该用户是一个暂存用户,他向群组的收件电子邮件地址发送电子邮件。
我无法在本地测试已暂存用户发送的电子邮件的处理方式。如果电子邮件发送到群组的电子邮件地址,我仍然期望回复将使用“用户发布的 PM”模板;如果电子邮件发送到分类的收件电子邮件地址,则使用“用户发布的”模板。
我认为 Discourse 实际上已经自定义了用于处理暂存用户回复的电子邮件模板,就在 Meta 上。不过,我可能记错了。无论如何,弄清楚这一点并将其添加到 Customizing specific system email templates 的列表中将会很有帮助。
我再次尝试更改用户发布的PM模板,但仍然没有成功。
您需要修改这些模板:
这超出了我的知识范围,不知道是否可以通过主题组件实现,还是需要编写插件。
这很有趣,我见过这个,我找到了一些相关的旧帖子:
如何更改摘要电子邮件模板的样式? - dev - Discourse Meta
示例插件:自定义活动摘要模板 - plugin - Discourse Meta
一个较新的帖子:如何在嵌入中显示全名 - dev - Discourse Meta 也许能帮我达到想要的效果,我稍后会尝试一下,并让大家知道我的进展。