我被赋予了为不同的电子邮件/网络邮件客户端优化HTML电子邮件的任务。我曾经通过在Outlook Express中做一个技巧测试HTML文件,使其发送原始HTML,但微软似乎已经停止提供Outlook Express(我认为“Live Mail”应该替换它)。
所以我的问题是,是否有一种简单,快捷的方式来发送HTML电子邮件?也许甚至是一个完成这项工作的免费程序?
答案 0 :(得分:15)
Puts Mail是最好的选择。查看Puts Mail的创建者an answer to a similar question。
答案 1 :(得分:4)
我会使用python,这里的底部是一个如何使用默认文本创建HTML电子邮件的示例:http://docs.python.org/library/email-examples.html 你可以参数化它,封装在函数中,从文件中读取内容等等。(确保你将“s = smtplib.SMTP('localhost')中的localhost”设置为你的smtp服务器)
答案 2 :(得分:4)
如果您只想测试HTML电子邮件是否在各种客户端中正确显示,我会使用sendmail.exe(仅限Windows)。
您可以保存.html文件并将其作为电子邮件内容通过命令行传输到该程序中。有/ to / subject / server等命令行选项。
这样,您只需编辑.html文件并再次运行命令行即可快速发送和重新发送电子邮件。无需编程。
编辑:Linux上有一个类似的命令行工具。
答案 3 :(得分:2)
如果您使用的是Mac,则可以使用Safari和Mail快速发送HTML电子邮件。我在下面的链接上写了关于细节的博客,但基本上你只是在Safari中查看你的HTML文件,然后选择文件>本页的邮件内容。
http://www.ravelrumba.com/blog/send-html-email-with-safari-mail-for-fast-testing/
答案 4 :(得分:1)
如果您正在运行.NET并且拥有Gmail帐户,这是一种简单的方法
using System.Net;
using System.Net.Mail;
var fromAddress = new MailAddress("from@gmail.com", "From Name");
var toAddress = new MailAddress("to@example.com", "To Name");
const string fromPassword = "fromPassword";
const string subject = "Subject";
const string body = "Body";
var smtp = new SmtpClient
{
Host = "smtp.gmail.com",
Port = 587,
EnableSsl = true,
DeliveryMethod = SmtpDeliveryMethod.Network,
UseDefaultCredentials = false,
Credentials = new NetworkCredential(fromAddress.Address, fromPassword)
};
using (var message = new MailMessage(fromAddress, toAddress)
{
Subject = subject,
Body = body
})
{
smtp.Send(message);
}
有关详细信息,请参阅Sending email in .NET through Gmail
答案 5 :(得分:1)
您也可以使用PowerShell
答案 6 :(得分:1)
我相信你可以从Mozilla的Thunderbird电子邮件客户端发送HTML电子邮件。
http://www.mozillamessaging.com/en-US/thunderbird/
这是我用来发送测试电子邮件的内容。或者我想你也可以使用你的电子邮件提供商。
答案 7 :(得分:1)
我 甚至使用任何语言 ......
我会停在MailChimp并设置free account(每月最多500个订阅者和3000次发送)... 3000次发送足以测试对吗? :)
它拥有您专业发送电子邮件所需的所有工具(并可能为您的客户/朋友设置一个帐户,以便他/他可以在他们的简报中使用MailChimp)
在您访问它的同时,请参阅他们的resources页面以及使用CampaignMonitor拥有Guide to CSS support in email clients
了解我们可以在简报中使用哪些内容的完美工具希望有所帮助
答案 8 :(得分:1)
如果您需要接收和查看应用程序发送的任何电子邮件,Test Mail Server Tool可以提供帮助。
答案 9 :(得分:1)
Ruby变体:
require "mail"
options = {
:address => "smtp.gmail.com",
:port => 587,
:domain => "smtp.gmail.com",
:user_name => "me@gmail.com",
:password => "password",
:enable_starttls_auto => true,
:authentication => :plain,
}
Mail.defaults do
delivery_method :smtp, options
end
mail = Mail.new do
to "me@gmail.com"
from "Me Me me@gmail.com"
subject "test email"
html_part do
content_type "text/html; charset=UTF-8"
body File.read("index.html")
end
end
mail.deliver
不要忘记启用https://www.google.com/settings/security/lesssecureapps
的访问权限答案 10 :(得分:0)
我使用PHPMailer发送HTML电子邮件(通常是批量发送)。它对我很有用。
答案 11 :(得分:0)
仅限Windows的免费解决方案,您通常无需安装任何特殊内容即可使用ASP或WSH。我选择JScript而不是VBScript:
function sendHtml(recipients, subject, html) {
var mail = Server.CreateObject("CDO.Message");
mail.From = "Tester <tester@example.com>";
mail.Subject = subject;
mail.To = recipients.join(";");
mail.HTMLBody = html;
// Do the following if you want to directly use a specific SMTP server
mail.Configuration.Fields.Item(
"http://schemas.microsoft.com/cdo/configuration/sendusing") = 2;
mail.Configuration.Fields.Item(
"http://schemas.microsoft.com/cdo/configuration/smtpserver")
= "smtp.example.com";
mail.Configuration.Fields.Item(
"http://schemas.microsoft.com/cdo/configuration/smtpserverport")
= 25;
mail.Configuration.Fields.Update();
mail.Send();
}
注意:但是,您的HTML最终可能会使用此方法稍微重新格式化。
答案 12 :(得分:0)
谈话很晚,但这是发送HTML电子邮件的最快方法(尽管远非最佳做法):
在网络浏览器(例如网页)中查看呈现的 html,然后ctrl+a
选择整个页面,然后ctrl+c
复制并ctrl+v
粘贴将html结果呈现到您的电子邮件正文中。没有比这更容易......
请注意,如果您希望收件人看到您的图片,则需要托管您的图片。
答案 13 :(得分:0)
function sendHtml(recipients, subject, html) {
var mail = Server.CreateObject("CDO.Message");
mail.From = "Tester <tester@example.com>";
mail.Subject = subject;
mail.To = recipients.join(";");
mail.HTMLBody = html;
// Do the following if you want to directly use a specific SMTP server
mail.Configuration.Fields.Item(
"http://schemas.microsoft.com/cdo/configuration/sendusing") = 2;
mail.Configuration.Fields.Item(
"http://schemas.microsoft.com/cdo/configuration/smtpserver")
= "smtp.example.com";
mail.Configuration.Fields.Item(
"http://schemas.microsoft.com/cdo/configuration/smtpserverport")
= 25;
mail.Configuration.Fields.Update();
mail.Send();
}
答案 14 :(得分:-1)
也许你可以在.NET中使用System.Net.Mail?
您可以从电子邮件模板中读取并向MailMessage正文提供帮助。
发送电子邮件
System.Net.Mail.MailMessage msg = CreateMailMessage();
SmtpClient sc = new SmtpClient();
sc.Host = ConfigurationManager.AppSettings["SMTPServer"];
sc.Port = 0x19;
sc.UseDefaultCredentials = true;
sc.Send(msg);