Чтобы отправить электронную почту в .NET, используйте SmtpClient и MailMessage и Attachment классы.
Класс MailMessage представляет собой содержимое почтового сообщения. Класс SmtpClient передает электронную почту на хост SMTP, который вы назначаете для доставки почты. Вы можете создавать почтовые вложения с помощью класса Attachment.
Предполагая, что у вас есть информационный бюллетень HTML с отдельной таблицей стилей и изображениями, вам необходимо создать MailMessage с содержимым тела HTML и добавить внешние файлы в качестве вложений. Вам нужно будет установить свойство ContentId
для каждого вложения и обновить ссылки в HTML, чтобы использовать это.
A href в теле HTML для прикрепления использует схему cid:. Для приложения с id «xyzzy» href является «cid: xyzzy».
Для построения MailMessage с HTML телом:
string content; // this should contain HTML
// Create a message and set up the recipients.
MailMessage message = new MailMessage(
"[email protected]",
"[email protected]");
message.Subject = "The subject.";
message.Body = content;
message.IsBodyHtml = true;
Для построения MailMessage с приложением:
string file = "data.xls";
// Create a message and set up the recipients.
MailMessage message = new MailMessage(
"[email protected]",
"[email protected]");
message.Subject = "The subject.";
message.Body = "See the attached file";
// Create the file attachment for this e-mail message.
Attachment data = new Attachment(file, MediaTypeNames.Application.Octet);
data.ContentId = Guid.NewGuid().ToString();
// Add time stamp iformation for the file.
ContentDisposition disposition = data.ContentDisposition;
disposition.CreationDate = System.IO.File.GetCreationTime(file);
disposition.ModificationDate = System.IO.File.GetLastWriteTime(file);
disposition.ReadDate = System.IO.File.GetLastAccessTime(file);
// Add the file attachment to this e-mail message.
message.Attachments.Add(data);
Чтобы отправить MailMessage с SmtpClient:
//Send the message.
SmtpClient client = new SmtpClient(server);
// Add credentials if the SMTP server requires them.
client.Credentials = CredentialCache.DefaultNetworkCredentials;
client.Send(message);
'mail.IsBodyHtml = true;'? –
Как вы отправляете почту? – Ian
Это новое требование. У меня нет опыта отправки почты с издателем microsoft. Поэтому я ищу в net/google для этого –