Ответ 1
A Test Mail Server Tool может помочь с этим - если вам просто нужно получать и просматривать любые электронные письма, отправленные вашим приложением.
Мне была поручена оптимизация HTML-писем для разных клиентов электронной почты/веб-почты. Я использовал для проверки HTML файла, выполнив трюк в Outlook Express, чтобы он отправил необработанный HTML-код, но Microsoft, похоже, перестала поставлять Outlook Express (я думаю, что "Live Mail" должна заменить его).
Итак, мой вопрос: есть ли простой и быстрый способ отправить HTML-письма? Может быть, даже бесплатная программа, которая выполняет эту работу?
A Test Mail Server Tool может помочь с этим - если вам просто нужно получать и просматривать любые электронные письма, отправленные вашим приложением.
Pieces Mail - лучший выбор в наши дни. Проверьте ответ на аналогичный вопрос создателем Puts Mail.
Я бы использовал python, здесь внизу приведен пример создания HTML-сообщения с текстом по умолчанию: http://docs.python.org/library/email-examples.html вы можете параметризовать это, инкапсулировать в функции, читать содержимое из файлов и т.д. (убедитесь, что вы установили localhost в "s = smtplib.SMTP(" localhost ") на ваш SMTP-сервер)
Если вы просто хотите проверить, правильно ли отображается HTML-адрес на разных клиентах, я бы использовал sendmail.exe (только для окон).
Вы можете сохранить файл .html и передать его в эту программу в командной строке в качестве содержимого электронной почты. Существуют параметры командной строки для /from/subject/server и т.д.
Это позволит вам быстро отправлять и перенаправлять электронные письма, просто редактируя файл .html и снова запуская командную строку. Программирование не требуется.
Изменить: есть аналогичный инструмент командной строки для Linux с тем же именем.
Если вы находитесь на Mac, вы можете быстро отправить электронную почту HTML, используя Safari и Mail. Я рассказал о деталях по ссылке ниже, но в основном вы просто просматриваете свой HTML файл в Safari и выбираете File > Mail Contents этой страницы.
http://www.ravelrumba.com/blog/send-html-email-with-safari-mail-for-fast-testing/
Если вы используете .NET и у вас есть учетная запись Gmail, это простой способ
using System.Net;
using System.Net.Mail;
var fromAddress = new MailAddress("[email protected]", "From Name");
var toAddress = new MailAddress("[email protected]", "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);
}
см. Отправка электронной почты в .NET через Gmail для более подробной информации
Я считаю, что вы можете отправлять html-письма из почтового клиента Mozilla Thunderbird.
http://www.mozillamessaging.com/en-US/thunderbird/
Это то, что я использовал для отправки тестовых писем. Или я думаю, вы могли бы использовать ваш провайдер электронной почты тоже.
Я бы не даже шел с любым языком...
Я бы остановился на MailChimp и настроил бесплатная учетная запись (максимум 500 подписчиков и 3000 отправлений в месяц)... 3000 отправлений достаточно, чтобы проверить правильно?:)
У него есть все инструменты, необходимые для отправки электронной почты профессионально (и, возможно, настроить учетную запись для вашего клиента/друга, чтобы они могли использовать MailChimp в своих информационных бюллетенях)
пока вы на нем, посмотрите их resources, а также отличный инструмент, чтобы узнать, что мы можем использовать в бюллетенях, используя CampaignMonitor собственный Руководство по поддержке CSS в почтовых клиентах
надеюсь, что это поможет
Вариант Ruby:
require "mail"
options = {
:address => "smtp.gmail.com",
:port => 587,
:domain => "smtp.gmail.com",
:user_name => "[email protected]",
:password => "password",
:enable_starttls_auto => true,
:authentication => :plain,
}
Mail.defaults do
delivery_method :smtp, options
end
mail = Mail.new do
to "[email protected]"
from "Me Me [email protected]"
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
Я отправляю HTML-письмо (часто навалом), используя PHPMailer. Это отлично поработало для меня.
Также вы можете использовать PowerShell
Простое решение для Windows, в котором вам обычно не нужно ничего устанавливать, - это использовать ASP или WSH. Я выбираю JScript вместо VBScript:
function sendHtml(recipients, subject, html) {
var mail = Server.CreateObject("CDO.Message");
mail.From = "Tester <[email protected]>";
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 может немного переформатироваться с помощью этого подхода.
Очень поздно в разговоре, но вот самый быстрый способ (хотя и далеко не лучший) отправить html-адрес электронной почты:
Просмотрите отображаемый html в веб-браузере (например, на веб-странице), затем ctrl+a
выберите всю страницу, затем ctrl+c
copy и ctrl+v
вставьте полученный результат html в тело вашего письма. Не легче, чем это...
Просто обратите внимание, что ваши изображения должны размещаться, если вы хотите, чтобы получатель их видел.
function sendHtml(recipients, subject, html) {
var mail = Server.CreateObject("CDO.Message");
mail.From = "Tester <[email protected]>";
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();
}
Может быть, вы можете использовать System.Net.Mail в .NET?
Вы можете прочитать из шаблона электронной почты и передать тело 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);