gen_smtp可以在https://github.com/Vagabond/gen_smtp
找到我想要的是让电子邮件的内容支持html标记,例如<strong>Hello</strong>
将显示为 Hello
提前致谢
答案 0 :(得分:2)
有关multipart/alternative
messages的示例,请参阅gen_smtp
mimemail测试:
Email = {<<"text">>, <<"html">>, [
{<<"From">>, <<"me@example.com">>},
{<<"To">>, <<"you@example.com">>},
{<<"Subject">>, <<"This is a test">>}],
[],
<<"This is a <strong>HTML</strong> message with some non-ascii characters øÿ\r\nso there">>},
Encoded = encode(Email)
答案 1 :(得分:2)
看看https://github.com/selectel/pat。它是一个易于使用的SMTP客户端,您可以使用任何文本,包括html标记作为消息正文。
答案 2 :(得分:0)
@Ward Bekker给出的答案从根本上是正确的,但是我花了一些时间才能使它工作,因为示例中显示的mimemail:encode/1
期望proplist
而不是map
。
我使用了Erlang Erlang / OTP 23 [erts-11.0.3],但失败了:
** exception error: no function clause matching proplists:get_value(<<"content-type-params">>, #{disposition => <<"inline">>,<<"content-type-params">> => [{<<"charset">>,<<"US-ASCII">>}]},[]) (proplists.erl, line 215)
in function mimemail:ensure_content_headers/7 (/Users/sean/Documents/code/erlang/scofblog/_build/default/lib/gen_smtp/src/mimemail.erl, line 661)
以下是修改后的代码和编码后的输出:
Email = {
<<"text">>,
<<"html">>,
[
{<<"From">>, <<"me@example.com">>},
{<<"To">>, <<"you@example.com">>},
{<<"Subject">>, <<"This is a test">>}
],
[{<<"content-type-params">>, [{<<"charset">>, <<"US-ASCII">>}]},
{<<"disposition">>, <<"inline">>}
],
<<"This is a <strong>HTML</strong> øÿ\r\nso there">>
}.
62> mimemail:encode(Email).
<<"From: me@example.com\r\nTo: you@example.com\r\nSubject: This is a test\r\nContent-Type: text/html;\r\n\tcharset=US-ASCII\r\nCon"...>>
希望可以避免刮擦头部。