如何在ruby中从net//smtp发送电子邮件中的HTML内容?
相关代码:如何在ruby中从net//smtp发送电子邮件中的HTML内容?,html,ruby,smtp,Html,Ruby,Smtp,相关代码: msg = "Subject: Reset password instructions\n\nHello " + @request_payload["email"] + "!\n\n" + "A new account has been created for you at <a href=\"presentation-layer.dev\">presentation-layer.dev<a>." + "Please go to th
msg = "Subject: Reset password instructions\n\nHello " + @request_payload["email"] + "!\n\n" +
"A new account has been created for you at <a href=\"presentation-layer.dev\">presentation-layer.dev<a>." +
"Please go to that page and click \"forgot password\" to set your password."
smtp = Net::SMTP.new 'smtp.gmail.com', 587
smtp.enable_starttls
smtp.start('domain', "email", 'password', :login) do
smtp.send_message(msg, 'sender', "recip")
end
msg=“Subject:Reset password instructions\n\nHello”+@request\u负载[“email”]+“!\n\n”+
“已在presentation layer.dev.为您创建了一个新帐户”+
“请转到该页面并单击\“忘记密码\”设置密码。”
smtp=Net::smtp.new'smtp.gmail.com',587
smtp.enable_starttls
smtp.start('domain','email','password',:login)do
smtp.send_消息(消息,'发送者',“recip”)
结束
生成的电子邮件中只有原始文本。如何让服务器评估HTML标记?听起来您需要设置“内容类型”标题:
Content-Type: text/html;
要执行您想要的操作,您应该生成一个MIME文档。如果你真的想把它做好,可以创建一个多部分MIME文档,这样你就可以同时拥有文本和富文本部分 您可以从Net::SMTP执行此操作,但必须向文档中添加必要的MIME头和部分分隔符。请参见“”以了解如何使用的示例 使用gem更容易,它同时支持这两种功能,尤其是在包含多个部件或添加附件的情况下。从文件中: 您还可以创建MIME电子邮件。有一些助手方法可以为text/plain和text/html(最常见的一对)创建多部分/备用电子邮件,您可以手动创建任何其他类型的MIME电子邮件 在“”中的文档的更下方: Mail做了一些基本的假设,并使做普通事情尽可能简单。。。。(从邮件库询问了很多)
mail=mail.deliver-do
到nicolas@test.lindsaar.net.au'
来自“Mikel Lindsaar”
主题“随邮件发送的第一封多部分电子邮件”
文字部分做什么
正文“这是纯文本”
结束
你是做什么的
内容类型为“文本/html”;字符集=UTF-8'
正文“这是HTML”
结束
结束
服务器(邮件传输代理==MTA)不评估HTML标记。邮件用户代理(MUA)在向用户显示内容时会这样做。感谢您的帮助。如何将此代码配置为使用google smtp服务器而不是本地运行的服务器?我注意到它说你可以通过sendmail发送-我应该只做Net::SMTP.start(这里的服务器信息)
?看看这里的答案它给了我从gmail帐户发送电子邮件所需的代码
mail = Mail.deliver do
to 'nicolas@test.lindsaar.net.au'
from 'Mikel Lindsaar <mikel@test.lindsaar.net.au>'
subject 'First multipart email sent with Mail'
text_part do
body 'This is plain text'
end
html_part do
content_type 'text/html; charset=UTF-8'
body '<h1>This is HTML</h1>'
end
end