Я делаю систему бронирования авиабилетов, и я хочу отправить электронное письмо пользователю, который содержит E-Ticket своего путешествия. E-Ticket генерируется динамически с идентификатором бронирования, полученным из базы данных, и другими данными с предыдущих страниц, таких как Имя пассажира и все. Итак, как я могу отправить ему динамически созданный E-Ticket на свой E-Mail ID?ASP.NET- Отправка электронной почты
ответ
ВНИМАНИЕ:. Мой первоначальный ответ на этот вопрос предлагает использовать System.Web.Mail для отправки электронной почты. Однако этот API был заменен на System.Net.Mail обратно в .NET 2.0, а классы System.Web.Mail теперь отмечены устаревшими/устаревшими.
Вы можете использовать класс System.Web.Mail.Mailmessage:
System.Web.Mail.MailMessage mailMessage = new System.Web.Mail.MailMessage();
mailMessage.To = "[email protected]";
mailMessage.From = "[email protected]";
mailMessage.Subject = "Email subject";
mailMessage.BodyFormat = System.Web.Mail.MailFormat.Html;
mailMessage.Body = "Email body";
System.Web.Mail.SmtpMail.SmtpServer = System.Configuration.ConfigurationSettings.AppSettings["mailserver"];
System.Web.Mail.SmtpMail.Send(mailMessage);
Все классы в 'System.Web.Mail' были исключены из .NET 2.0 и устарели от .NET 4.0. См. Ответ Jørn Schou-Rode для получения дополнительной информации. –
Письма могут быть отправлены с использованием пространства имен System.Net.Mail. Я хотел бы использовать StringBuilder или String.Format, чтобы поместить детали в тело письма.
Посмотрите на класс MailMessage. Эта страница MSDN содержит полный образец, включающий, как обрабатывать вложения.
Или посмотрите на this short tutorial в блоге Скотта Гутриса - он также объясняет необходимые записи в файле конфигурации (web.config).
Очень просто отправить электронное письмо в ASP.NET. Jsut генерирует содержимое сообщения в вашем коде, вытягивая фиксированные и динамические элементы, чтобы создать полную строку для тела, а затем просто отправить его либо в виде обычного текста, либо в формате HTML.
Вот базовая структура для вызова сделать посыла:
Imports System.Net.Mail
Dim eMessage As New MailMessage(senderAddress, receiverAddress)
eMessage.Subject = emailSubject
eMessage.Body = emailBody
eMessage.IsBodyHtml = emailIsHTML
eMessage.Attachments.Add(emailAttachment)
' send email object
Dim smtp As New SmtpClient
smtp.Send(eMessage)
Динамическая часть содержания является лишь StringBuilder или аналогичный подход для создания строка из фиксированных и динамических элементов, которые вам нужны, добавление форматирования HTML, если вы хотите использовать HTML-адрес электронной почты и т. д.
System.Web.Mail является (по праву) осуждается в asp.net v2.0; вы должны проигнорировать этот ответ и послушать людей, которые указывают вам вместо этого использовать system.net.mail.
ВНИМАНИЕ: Принятый ответ на этот вопрос предлагает использовать System.Web.Mail
для отправки электронной почты. Однако этот API был заменен на System.Net.Mail
еще в .NET 2.0, а классы System.Web.Mail
теперь обозначены как устаревшие/устаревшие.
Вот реальный простой пример того, как построить и отправить сообщение электронной почты в .NET:
using (MailMessage message = new MailMessage())
{
message.From = new MailAddress("[email protected]");
message.To.Add(new MailAddress("[email protected]"));
message.Subject = "Get back to work!";
message.Body = "Stop hanging around SO.";
SmtpClient smtp = new SmtpClient();
smtp.Send(message);
}
На самом деле, приведенный выше код может быть написан гораздо короче, используя метод SmtpClient.Send()
:
SmtpClient smtp = new SmtpClient();
smtp.Send("[email protected]", "[email protected]",
"Get back to work!", "Stop hanging around SO.");
Однако часто требуется использовать «размашистый» стиль, для того, чтобы иметь возможность установить отображаемые имена на адреса, изменить тип содержимого сообщения или добавление вложений сообщение.
Независимо от того, что вы выберете, вам необходимо настроить приложение в отношении настроек SMTP, сообщив ему, как доставлять электронную почту. В вас конфигурационном файле приложения (который был бы web.config
в приложении ASP.NET), вам нужно будет добавить что-то вроде этого:
<system.net>
<mailSettings>
<smtp from="[email protected]">
<network host="smtp.example.com" />
</smtp>
</mailSettings>
</system.net>
Точные настройки зависит от того, как вы хотите, чтобы ваше приложение для доставки сообщений электронной почты. С приведенной выше конфигурацией выборки сообщения будут передаваться через указанный SMTP-сервер. Другие решения включают, когда приложение записывает сообщения в папку pickup, откуда будет обрабатываться виртуальный почтовый сервер IIS. Подробности см. На странице official documentation.
Кроме того, MailMessage реализует IDisposable, поэтому вы должны либо Dispose() отправить сообщение, либо поместить его в * используемый * блок. – GalacticCowboy
@ Галактика: Вы абсолютно правы, и я обновил свой ответ, чтобы отразить это. –
Все: Обратите внимание: в .NET 4.0 класс 'SmtpClient' также является' IDisposable'! –
- 1. ASP.Net - отправка электронной почты
- 2. Asp.net отправка электронной почты
- 3. Ошибка asp.net отправка электронной почты
- 4. Отправка электронной почты в asp.net
- 5. Отправка электронной почты в Asp.net частной электронной почты
- 6. отправка электронной почты в asp.net отправляет пароль вместо электронной почты
- 7. SMTP: Отправка электронной почты
- 8. IIS7 - отправка электронной почты
- 9. Отправка электронной почты в asp.net без аутентификации
- 10. Отправка электронной почты с помощью asp.net
- 11. Отправка подтверждения электронной почты в ASP.Net MVC
- 12. Отправка электронной почты Asp.Net через gmail
- 13. Какая ошибка? (Отправка электронной почты в asp.net)
- 14. Отправка электронной почты с localhost ASP.net
- 15. Отправка электронной почты с помощью ASP.NET
- 16. Отправка электронной почты асинхронно в ASP.NET C#
- 17. Отправка электронной почты с помощью ошибки asp.net
- 18. Отправка массовой электронной почты в ASP.NET
- 19. отправка электронной почты из asp.net страницы
- 20. Отправка электронной почты с помощью ASP.NET
- 21. Отправка электронной почты от ASP.NET MVC
- 22. Отправка электронной почты через Asp.net с C#
- 23. Asp.net 4.0 Отправка сообщений электронной почты
- 24. Отправка электронной почты из HTML Использование ASP.Net
- 25. Отправка и получение электронной почты в ASP.NET
- 26. отправка электронной почты (Gmail) в asp.net
- 27. Отправка электронной почты в ASP.NET 2.0
- 28. Отправка электронной почты yahoo в asp.net
- 29. Отправка электронной почты без адреса электронной почты?
- 30. Отправка электронной почты электронной почты ELMAH вручную
Как эта проблема может отличаться от отправки строки в формате HTML в виде сообщения электронной почты? – Cerebrus
Я не знаю, как правильно .... – Roshan