Muszę wysłać dużo wiadomości e-mail (prawdopodobnie setki dziennie) na podstawie harmonogramu. Sposób, w jaki myślę to zrobić, jest następujący, ale problem polega na tym, że moje pole Ciało może stać się bardzo duże, a jeśli dodaję je jako ciąg staje się brzydkie.Właściwy sposób wysyłania wiadomości e-mail z usługi Windows
SmtpClient client = new SmtpClient(); //host and port picked from web.config
client.EnableSsl = true;
MailMessage message = new MailMessage();
message.Body = "test from winservice"; // HERE IS MY PROBLEM
message.IsBodyHtml = true;
message.From = new MailAddress("[email protected]");
message.Subject = "My subject";
message.To.Add(new MailAddress("[email protected]"));
try
{
client.Send(message);
}
catch (Exception)
{
}
kiedy miałem to zrobić od strony aspx użyłem
MailDefinition message = new MailDefinition();
message.BodyFileName = @"~\EmailTemplate\Template1.htm";
ListDictionary replacements = new ListDictionary();
replacements.Add("<% Name %>", this.txtName.Text);
replacements.Add("<% PhoneOrEmail %>", this.txtPhoneOrEmail.Text);
replacements.Add("<% Message %>", this.txtMessage.Text);
MailMessage msgHtml = message.CreateMailMessage(RECIPIENTS, replacements, new LiteralControl());
myślę, że to eleganckie rozwiązanie, ale nie chcę, aby odwołać się do System.Web.UI.WebControls.MailDefinition ponieważ jestem w winservice.
Moje pytania są następujące:
- Jaki jest najlepszy sposób do masowego wysyłania wiadomości e-mail z winservice ?
- Czy można wysyłać je z konta gmail ? czy po jakimś czasie zablokują mnie po ?
dzięki za pomoc.
wierzę GMail ma limit 500 odbiorców w ciągu 24 godz. Jednak zniechęciłbym do korzystania z Gmaila w przypadku masowych wiadomości e-mail; może to naruszyć ich TOS. –
Dzięki Ryan, Oto post, który wyjaśni to bardziej szczegółowo: http://www.labnol.org/internet/email/gmail-daily-limit-sending-bulk-email/2191/ Zgaduję więc, że będzie musiał przestać używać Gmaila do wysyłania e-maili :( – UshaP