-
usando System.Web.Mail;
private void Button1_Click (remetente do objeto, System.EventArgs e)
{
//Instancia o objeto MailMessage
System.Web.Mail.MailMessage mail=new System.Web.Mail.MailMessage();
//Defina o endereço de envio do e-mail Você pode preencher um endereço inexistente à vontade. É assim que o spam é feito ^_^.
mail.From=" [email protected] ";
//Define o endereço de recebimento do e-mail
//Definir uma lista separada por ponto e vírgula de endereços de e-mail de destinatários
mail.To=" [email protected] ";
//Define o endereço CCO do e-mail
//Definir uma lista de endereços de e-mail separados por ponto e vírgula
//mail.Bcc="[email protected] ";
//Define o endereço de cópia carbono do e-mail
//Definir uma lista de endereços de e-mail separados por ponto e vírgula
//mail.Cc=" [email protected];[email protected]
//Define o assunto do email
mail.Subject="teste de e-mail widebright asp.net enviar aprendizagem de e-mail";
//Define o tipo de conteúdo do corpo do email
//Aqui enviamos em formato HTML
mail.BodyFormat=System.Web.Mail.MailFormat.Html;
//Define o corpo do e-mail
mail.Body="Teste e veja se funciona";
//Strings entre @ começam com @ e também são colocados entre aspas duplas. Por exemplo:
//A vantagem de citar @ é que a sequência de escape não é processada, então você pode escrever facilmente uma string, como um nome de arquivo totalmente qualificado:
//@"c:DocsSourcea.txt " // em vez de "c:\Docs\Source\a.txt"
//Para incluir aspas duplas em uma string entre aspas @, use dois pares de aspas duplas:
// @"""Ahoy!"" gritou o capitão." // "Ahoy!"
// Outro uso do símbolo @ é com o identificador referenciado (/reference), que é uma palavra-chave C#.
// http://msdn2.microsoft.com/zh-CN/library/362314fe(VS.80).aspx
//Definir um anexo
System.Web.Mail.MailAttachment mailAttachment=new System.Web.Mail.MailAttachment(@"F:dddddd.txt");
//Anexar um anexo ao e-mail
mail.Attachments.Add(mailAttachment);
//Continue adicionando vários anexos aqui
mailAttachment=new System.Web.Mail.MailAttachment(@"F:asp_net Enviar código de email_Baidu Know.mht");
mail.Attachments.Add(mailAttachment);
//Servidor SMTP, porque está configurado nesta máquina, então escreva 127.0.0.1 Se você estiver conectado a outro servidor, como caixa de correio 163, escreva smpt.163.com.
System.Web.Mail.SmtpMail.SmtpServer="127.0.0.1";
//Diz-se que muitos servidores SMTP requerem autenticação para evitar spam. Parece ser chamado de protocolo smpt estendido ou algo assim.
//Mas o que está conectado aqui é o seu próprio servidor smpt, smpt simples, então não há verificação.
//Não sei se a verificação é necessária ao enviar e-mails do servidor SMPT local para 163 ou outras caixas de correio. Durante o teste real, os e-mails podem ser enviados para.
//@163.com , @eyou.com, @x.cn, nenhuma verificação é necessária.
//verificar
//mail.Fields.Add(" http://schemas.microsoft.com/cdo/configuration/smtpauthenticate ", "1");
//Nome de login
//mail.Fields.Add(" http://schemas.microsoft.com/cdo/configuration/sendusername ", "widebright");
//Senha de login
//mail.Fields.Add(" http://schemas.microsoft.com/cdo/configuration/sendpassword ", "widebright");
//enviar
System.Web.Mail.SmtpMail.Send(correio);
}
O código acima usa a classe System.Web.Mail.SmtpMail fornecida em .Net para enviar e-mails e conectar-se automaticamente
Servidor SMPT para envio de e-mails. Algumas pessoas usam classes ou soquetes TCP para escrever código para implementar o protocolo smpt, mas isso requer muita codificação, protocolos, etc., o que é bastante problemático. Eu fiz um antes de usar o VB. O protocolo smpt é relativamente simples, mas a codificação desses anexos requer muito código.
Este é apenas o código para enviar mensagens SMTP. Se você deseja receber mensagens e esperar, você deve ter um servidor pop3 que suporte o protocolo pop3.
O servidor smtp já está instalado após a instalação do IIS. O Pop3 não vem com ele, então pode ser um pouco mais problemático de instalar.
Configuração do servidor SMTP
Eu mesmo o habilitei após instalar o IIS 5.1. Acabei de configurá-lo no IIS Information Service Manager.
1. Adicione vários nomes de domínio em Domínios: clique com o botão direito em Domínios em "Servidor Virtual SMTP Padrão"
Selecione "Novo" para criar um novo, ---> Tipo de Domínio e selecione "Remoto".
O nome de domínio é preenchido 163.com eyou.com x.cn respectivamente, porque quero enviar e-mails para esses servidores, e o mesmo que no código acima
===============
mail.To=" [email protected] ";
===============
Da mesma forma, para quem deseja enviar um e-mail, você deve definir o nome de domínio correspondente. Se não definir, o e-mail não poderá ser enviado.
2. Clique com o botão direito em um nome de domínio como 163.com, selecione "Propriedades" e marque "Permitir que e-mails recebidos sejam retransmitidos para este domínio". O e-mail só poderá ser enviado após verificação, caso contrário, ainda haverá um erro. .
Para o domínio de rota abaixo, basta selecionar o padrão Usar DNS para rotear para o domínio.
A chave é definir o nome de domínio do servidor SMTP correspondente no IIS e então você pode enviar e-mails. Testei diversas caixas de correio na página asp.net e elas podem ser enviadas normalmente. Assim como a caixa de correio 163, clique no botão para enviar e você receberá.
Acabei de descobrir que você pode adicioná-lo
*.com
*.líquido
*cn
Nome de domínio que corresponda à maioria dos endereços de e-mail.
Se você adicionar o nome de domínio *.com, poderá enviar cartas para @163.com e @eyou.com
O teste foi aprovado no ambiente Windows XP+visual sutdio 2003+iis5.1.
Porém, só descobri que as cartas enviadas para a caixa de correio do Sina não foram recebidas e não sei porquê.
Ocorre um erro típico de SMTP 550 5 7 1 Uable to relay
Além do nome de domínio do domínio não estar definido corretamente, pode haver
A caixa de seleção "permitir computadores autenticados com êxito para retransmissão" não está marcada nas configurações do servidor virtual SMTP. Como mostrado abaixo,
Primeiro abra a página Acesso da página de propriedades do Servidor Virtual SMTP:
Em seguida, clique no botão "Retransmitir" e veja se "Permitir que todos os computadores autenticados com êxito retransmitam, independentemente da lista acima" está selecionado: