В .net 1.1 описано, как отправлять электронную почту с помощью программного управления. Например, после успешной регистрации пользователя веб-сайта зарегистрированному пользователю будет автоматически отправлено электронное письмо с запросом регистрационной информации пользователя. Кроме того, иногда необходимо регулярно и каждый день отправлять отчет нескольким фиксированным людям. В совокупности необходимо решить следующие проблемы:
1. Аутентификация личности SMTP-сервера.
2. Как отправить, если получателей несколько.
3. Отправьте вложения к электронной почте.
Процедура реализации следующая:
Чтобы использовать System.Web.Mail, укажите на него ссылку в пространстве имен:
использование System.Web.Mail.
Определите процесс отправки электронных писем;
/**//// <сводка>
/// Отправить сообщение по электронной почте
/// </сводка>
/// <param name="to">Получить адрес электронной почты</param>
/// <param name="subject">Тема письма</param>
/// <param name="body">Текст электронного письма</param>
/// <param name="mailatta">Вложение</param>
public void SendMail (строка, тема строки, тело строки, MailAttachment mailatta)
{
MailMessage m_Mail = новое MailMessage ();
//Определяем имя SMTP-сервера
SmtpMail.SmtpServer = "mail.13590.com"
//Определите почтовый сервер SMTP, требующий аутентификации личности.
m_Mail.Fields.Add(" http://schemas.microsoft.com/cdo/configuration/smtpauthenticate ", "1");
//Аутентифицированное имя пользователя
m_Mail.Fields.Add(" http://schemas.microsoft.com/cdo/configuration/sendusername ", "имя пользователя");
//Пароль аутентификации
m_Mail.Fields.Add(" http://schemas.microsoft.com/cdo/configuration/sendpassword","password "
//Определяем адрес отправки электронной почты
m_Mail.From=""Цю Юй"< [email protected] >"
//Определение адреса получения электронной почты
;
m_Mail.To = to.ToString();
//Определение скрытого адреса электронной почты
m_Mail.Bcc=" [email protected] ";
//Определяем адрес точной копии электронного письма
m_Mail.Cc = " [email protected] ";
//Определяем тему письма
m_Mail.Subject = тема;
//Определяем тело письма
m_Mail.Body = тело;
//'Электронное письмо отправляется в формате HTML
m_Mail.BodyFormat = MailFormat.Text;
//Определите ограниченный уровень почты, установите его здесь на высокий уровень
m_Mail.Priority = MailPriority.High;
// Прикрепляем вложение к отправленному письму
если (маилатта!=ноль)
{
m_Mail.Attachments.Add(mailatta);
}
пытаться
{
SmtpMail.Send(m_Mail);
}
ловить
{
//Ошибка при отправке письма
Memo1.Text=Memo1.Text + тема;
}
}
Обратите внимание на адрес электронной почты «"Цю Юй"< имя_пользователя@13590.com >»;
Спереди отображается имя, за которым следует реальный адрес электронной почты. Если адресом получателя являются несколько человек, разделите их знаком «;», например:
«Цю Ю» < [email protected] >; «Администратор» < [email protected] > Обратите внимание на использование escape-символов.
Используем программу для звонка
частная пустота button_Click (отправитель объекта, System.EventArgs e)
{
string MailAddr=""Цю Юй"< [email protected]>; "Администратор"< [email protected] > ";
string Тема="Пожалуйста, проверьте статистический отчет";
строка MailBody="Тест";
string PathMailAtta="C: Statistical Report.xls"
;
пытаться
{
mailatta = новый MailAttachment (PathMailAtta);
}
ловить
{
Memo1.Text=Memo1.Text+PathMailAtta+"Есть исключение, проверьте, открыто ли оно";
возвращаться;
}
SendGroupMail(MailAddr,Subject,MailBody,mailatta);
}
Вышеуказанная программа была протестирована на платформах VS.Net2003 и Windows 2003 (SP1).