-
использование System.Web.Mail;
частный void Button1_Click (отправитель объекта, System.EventArgs e)
{
//Создаем экземпляр объекта MailMessage
System.Web.Mail.MailMessage mail=new System.Web.Mail.MailMessage();
//Определение адреса отправки письма. Вы можете указать несуществующий адрес по своему усмотрению. Так делается спам ^_^.
mail.From=" [email protected] ";
//Определяем адрес получения электронной почты
//Устанавливаем список адресов электронной почты получателей, разделенных точкой с запятой
mail.To=" [email protected] ";
//Определяем адрес скрытой копии электронной почты
//Устанавливаем список адресов электронной почты, разделенных точкой с запятой
//mail.Bcc=" [email protected] ";
//Определяем адрес точной копии электронного письма
//Устанавливаем список адресов электронной почты, разделенных точкой с запятой
//mail.Cc=" [email protected];[email protected]
//Определяем тему письма
mail.Subject="widebright mail test asp.net отправить обучение по почте";
//Установим тип содержимого тела письма
//Здесь мы отправляем его в формате HTML
mail.BodyFormat=System.Web.Mail.MailFormat.Html;
//Устанавливаем тело письма
mail.Body="Протестируйте и посмотрите, работает ли это";
//Строки, заключенные в @, начинаются с @ и также заключаются в двойные кавычки. Например:
//Преимущество цитирования @ заключается в том, что escape-последовательность не обрабатывается, поэтому вы можете легко записать строку, например полное имя файла:
//@"c:DocsSourcea.txt " // вместо "c:\Docs\Source\a.txt"
//Чтобы включить двойную кавычку в строку с @-кавычками, используйте две пары двойных кавычек:
// @"""Эй!" - воскликнул капитан." // "Эй!" - воскликнул капитан.
// Другое использование символа @ связано с идентификатором ссылки (/reference), который является ключевым словом C#.
// http://msdn2.microsoft.com/zh-CN/library/362314fe(VS.80).aspx
//Устанавливаем вложение
System.Web.Mail.MailAttachment mailAttachment=новый System.Web.Mail.MailAttachment(@" F:dddddd.txt");
//Прикрепляем вложение к письму
mail.Attachments.Add(mailAttachment);
//Продолжаем добавлять сюда несколько вложений
mailAttachment = new System.Web.Mail.MailAttachment(@"F:asp_net Отправить почтовый код_Baidu Know.mht");
mail.Attachments.Add(mailAttachment);
//SMTP-сервер, поскольку он настроен на этом компьютере, поэтому напишите 127.0.0.1. Если вы подключены к другому серверу, например почтовому ящику 163, напишите smpt.163.com.
System.Web.Mail.SmtpMail.SmtpServer="127.0.0.1";
//Говорят, что многие SMTP-серверы требуют аутентификации для предотвращения спама. Кажется, это называется расширенным протоколом smpt или что-то в этом роде.
//Но здесь подключен собственный smpt-сервер, простой smpt, поэтому проверки нет.
//Что касается того, требуется ли проверка при отправке писем с локального SMPT-сервера на 163 или другие почтовые ящики, я не знаю. Во время реального тестирования письма могут отправляться на.
//@163.com , @eyou.com, @x.cn, проверка не требуется.
//проверять
//mail.Fields.Add(" http://schemas.microsoft.com/cdo/configuration/smtpauthenticate ", "1");
//Имя для входа
//mail.Fields.Add(" http://schemas.microsoft.com/cdo/configuration/sendusername ", "widebright");
//Пароль для входа
//mail.Fields.Add(" http://schemas.microsoft.com/cdo/configuration/sendpassword ", "widebright");
//отправлять
System.Web.Mail.SmtpMail.Send(почта);
}
В приведенном выше коде используется класс System.Web.Mail.SmtpMail, предоставленный в .Net, для отправки электронных писем и автоматического подключения.
SMPT-сервер для отправки электронной почты. Некоторые люди используют классы или сокеты TCP для написания кода для реализации протокола smpt, но это требует большого количества кода, протоколов и т. д., что довольно хлопотно. Я сделал это до использования VB. Протокол smpt относительно прост, но для кодирования этих вложений требуется много кода.
Это всего лишь код для отправки SMTP-сообщений. Если вы хотите получать сообщения и ждать, у вас должен быть сервер pop3, поддерживающий протокол pop3.
SMTP-сервер уже установлен после установки IIS. Pop3 не поставляется с ним, поэтому его установка может оказаться немного сложнее, я еще не пробовал!
Конфигурация SMTP-сервера
Я включил его самостоятельно после установки IIS 5.1. Я только что настроил его в диспетчере информационных служб IIS.
1. Добавьте несколько доменных имен в «Домены»: щелкните правой кнопкой мыши «Домены» в «Виртуальном SMTP-сервере по умолчанию».
Выберите «Новый», чтобы создать новый, ---> Тип домена и выберите «Удаленный».
Доменное имя заполняется 163.com eyou.com x.cn соответственно, потому что я хочу отправлять электронные письма на эти серверы, и то же самое, что и в приведенном выше коде.
===============
mail.To=" [email protected] ";
===============
Соответственно, кому вы хотите отправить письмо, вы должны указать соответствующее доменное имя. Если вы его не зададите, письмо не сможет быть отправлено.
2. Щелкните правой кнопкой мыши имя домена, например 163.com, выберите «Свойства» и установите флажок «Разрешить пересылку входящей почты на этот домен». Электронное письмо можно отправить только после его проверки, в противном случае ошибка все равно будет. .
Для домена «Маршрут» ниже просто выберите значение по умолчанию «Использовать DNS для маршрутизации к домену».
Ключевым моментом является установка соответствующего доменного имени SMTP-сервера в IIS, после чего вы сможете отправлять электронные письма. Я протестировал несколько почтовых ящиков на странице asp.net, и их можно отправлять нормально. Как и почтовый ящик 163, нажмите кнопку отправить, и вы его получите.
Только узнал, что можно добавить
*.com
*.сеть
*сп
Доменное имя, соответствующее большинству адресов электронной почты.
Если вы добавите доменное имя *.com, вы сможете отправлять письма на адреса @163.com и @eyou.com.
Тест прошел в среде Windows XP+Visual Sutdio 2003+iis5.1.
Однако я обнаружил только то, что письма, отправленные в почтовый ящик Сина, не были получены, и я не знаю почему.
Типичная ошибка SMTP 550 5 7 1 Возникла возможность ретрансляции
Помимо того, что доменное имя домена установлено неправильно, возможно,
В настройках виртуального SMTP-сервера не установлен флажок «Разрешить ретрансляцию компьютерам, прошедшим успешную аутентификацию». Как показано ниже,
Сначала откройте страницу «Доступ» на странице свойств виртуального SMTP-сервера:
Затем нажмите кнопку «Ретрансляция» и посмотрите, выбран ли «Разрешить всем компьютерам, которые успешно прошли аутентификацию, ретранслировать, независимо от списка выше»: