No .net 1.1, como enviar e-mail usando o controle do programa. Por exemplo, após o registro bem-sucedido de um usuário do site, um e-mail será enviado automaticamente ao usuário registrado para solicitar as informações de registro do usuário. Além disso, às vezes é necessário enviar regularmente um relatório a algumas pessoas fixas todos os dias. Em conjunto, as seguintes questões precisam ser abordadas:
1. Autenticação de identidade do servidor SMTP.
2. Como enviar quando há vários destinatários.
3. Envie anexos de e-mail.
O procedimento de implementação é o seguinte:
Para usar System.Web.Mail, referencie-o no namespace:
usando System.Web.Mail
Defina um processo para envio de emails;
/**//// <resumo>
/// Enviar mensagem de e-mail
/// </sumário>
/// <param name="to">Receber endereço de e-mail</param>
/// <param name="subject">Assunto do email</param>
/// <param name="body">Texto do e-mail</param>
/// <param name="mailatta">Anexo</param>
public void SendMail(string para,string assunto,string corpo,MailAttachment mailatta)
{
MailMessage m_Mail = new MailMessage();
//Define o nome do servidor SMTP
SmtpMail.SmtpServer = "mail.13590.com";
//Defina o servidor de e-mail SMTP para exigir autenticação de identidade
m_Mail.Fields.Add(" http://schemas.microsoft.com/cdo/configuration/smtpauthenticate ", "1");
//Nome de usuário autenticado
m_Mail.Fields.Add(" http://schemas.microsoft.com/cdo/configuration/sendusername ", "nome de usuário");
//Senha de autenticação
m_Mail.Fields.Add
(" http://schemas.microsoft.com/cdo/configuration/sendpassword","password ");
m_Mail.From=""Qiu Yu"< [email protected] >"
//Defina o endereço de recebimento do e-mail
m_Mail.To = to.ToString();
//Defina o endereço CCO do e-mail
m_Mail.Bcc=" [email protected] ";
//Define o endereço de cópia carbono do e-mail
m_Mail.Cc = " [email protected] ";
//Define o assunto do email
m_Mail.Subject = assunto;
//Define o corpo do e-mail
m_Mail.Body = corpo;
//'O e-mail é enviado em formato HTML
m_Mail.BodyFormat = MailFormat.Text;
//Defina o nível limitado de e-mail, defina-o como alto aqui
m_Mail.Priority = MailPriority.High;
//Anexar um anexo ao e-mail enviado
if (mailatta!=nulo)
{
m_Mail.Attachments.Add(mailatta);
}
tentar
{
SmtpMail.Send(m_Mail);
}
pegar
{
//Erro ao enviar e-mail
Memo1.Text=Memo1.Text + assunto;
}
}
Preste atenção ao endereço de e-mail ""Qiu Yu"< [email protected] >";
A frente é o nome exibido, seguido do endereço de e-mail real. Se o endereço do destinatário for de várias pessoas, separe-os com ";", por exemplo:
"Qiu Yu" < [email protected] >; "Administrador" < [email protected] > Preste atenção ao uso de caracteres de escape.
Usamos o programa para chamar
private void button_Click (remetente do objeto, System.EventArgs e)
{
string MailAddr=""Qiu Yu"< nomedeusuá[email protected]>; "Administrador"< [email protected] > ";
string Subject="Por favor, verifique o relatório estatístico";
string MailBody="Teste";
string PathMailAtta=@"C: Relatório Estatístico.xls"
;
tentar
{
mailatta= new MailAttachment(PathMailAtta);
}
pegar
{
Memo1.Text=Memo1.Text+PathMailAtta+"Há uma exceção, verifique se está aberta";
retornar;
}
SendGroupMail(MailAddr,Assunto,MailBody,mailatta);
}
O programa acima foi testado nas plataformas VS.Net2003 e Windows 2003 (SP1).