将HTML电子邮件发送给自己测试它们的快速简便方法是什么?

时间:2009-01-20 11:01:49

标签: html email testing send

我被赋予了为不同的电子邮件/网络邮件客户端优化HTML电子邮件的任务。我曾经通过在Outlook Express中做一个技巧测试HTML文件,使其发送原始HTML,但微软似乎已经停止提供Outlook Express(我认为“Live Mail”应该替换它)。

所以我的问题是,是否有一种简单,快捷的方式来发送HTML电子邮件?也许甚至是一个完成这项工作的免费程序?

15 个答案:

答案 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);