You are on page 1of 46

Enviar e-mail em VB.

NET - Tutorial
Introduo EASendMail um componente SMTP que suporta todas as operaes de SMTP / ESMTP protocolos (RFC 821, RFC 822, RFC 2554).Este tutorial cobre tudo de envio de e-mail com EASendMail em VB.NET.

Um projeto simples VB.NET Enviar e-mail via conexo SSL Enviar e-mail usando a conta do Gmail Enviar e-mail usando a conta do Yahoo Enviar e-mail usando o Hotmail / MSN Live conta Enviar e-mail diretamente sem servidor SMTP (MX pesquisa de DNS) Enviar e-mail HTML Enviar e-mail com anexo Enviar e-mail com imagens embutidas Enviar e-mail com assinatura digital (S / MIME) Criptografia de e-mail (S / MIME) Enviar e-mail com manipulador de eventos Envie e-mail no modo assncrono Enviar e-mail com vrios segmentos (Correio em Massa) Enviar e-mail com Fila Enviar e-mail com fila de Banco de Dados Enviar e-mail com o Exchange Web Service - EWS Enviar e-mail com o Exchange WebDAV Total de projetos de exemplo

Instalao Antes de usar os cdigos de exemplo a seguir, voc deve baixar o instalador EASendMail e installo em sua mquina em primeiro lugar. Um projeto simples VB.NET Para melhor demonstrar como utilizar e-mail EASendMail envio, vamos criar um projeto de console VB.NET no primeiro, e em seguida, adicionar a referncia do EASendMail em seu projeto.

Adicionar Referncia de EASendMail para o Visual Stuido VB.NET Projeto Para usar EASendMail Componente SMTP em seu projeto, o primeiro passo "Adicionar referncia de EASendMail ao seu projeto".Por favor, crie / abrir o seu projeto com o Visual Studio.NET, em seguida, escolha o menu-> "Project" -> DLL "Procurar ..." e escolha a verso EASendMail {} -> "Add Reference" -> "NET".. a partir de seu disco, clique em "Abrir" -> "OK", a referncia de EASendMail ser adicionado ao seu projeto, e voc pode comear a usar para enviar e-mail EASendMail em seu projeto.

Porque EASendMail tem verses separadas para. Net Framework, por favor, consulte a tabela a seguir e escolha a dll correta.

Verses separadas de tempo de execuo de montagem para. NET Framework 1.1, 2.0, 3.5, 4.0 e. NET Compact Framework 2.0, 3.5.

Arquivo EASendMail.dll EASendMail20.dll EASendMail35.dll EASendMaill40.dll EASendMailCF20.dll EASendMailCF35.dll

. NET Framework verso Construdo com. NET Framework 1.1 requer. NET Framework 1.1, 2.0, 3.5 ou verso posterior. Construdo com. NET Framework 2.0 requer. NET Framework 2.0, 3.5 ou verso posterior. Construdo com. NET Framework 3.5 requer. NET Framework 3.5 ou verso posterior. Construdo com. NET Framework 4.0 requer. NET Framework 4.0 ou verso posterior. Construdo com. NET Compact Framework 2.0 requer. NET Compact Framework 2.0, 3.5 ou verso posterior. Construdo com. NET Compact Framework 3,5 Ele requer. NET Compact Framework 3.5 ou verso posterior.

[Exemplo VB.NET - Enviar e-mail] Agora adicione os seguintes cdigos para o projeto e mudana De, Para, Servidor de usurio e senha para o valor correspondente.

Namespace importaes EASendMail 'EASendMail Adicionar Module Module1 Sub Main () OMail Dim Nova SmtpMail ("TryIt") OSmtp Dim Nova SmtpClient () 'Set endereo de e-mail do remetente, altere-a para o seu oMail.From = "test@emailarchitect.net" 'Set endereo de e-mail do destinatrio, altere-a para o seu oMail.To = "support@emailarchitect.net" 'Definir assunto do email oMail.Subject = "e-mail de teste de VB.NET projeto" 'Corpo do email Definir oMail.TextBody = "este um e-mail enviado a partir de teste VB.NET projeto, no responda" "O endereo do servidor SMTP OServer Dim Nova SmtpServer ("smtp.emailarchitect.net") 'Usurio e senha para autenticao ESMTP, se o servidor no requer "A autenticao do usurio, remova os seguintes cdigos. oServer.User = "test@emailarchitect.net" oServer.Password = "testpassword"

"Se o servidor SMTP requer conexo SSL, por favor, adicione esta linha 'OServer.ConnectType = SmtpConnectType.ConnectSSLAuto Tentar Console.WriteLine ("comear a enviar e-mail ...") oSmtp.SendMail (oServer, oMail) Console.WriteLine ("e-mail foi enviado com sucesso!") Pegar ep como exceo Console.WriteLine ("falhou ao enviar e-mail com o seguinte erro:") Console.WriteLine (ep.Message) End Try End Sub Mdulo final

Se voc definir tudo certo, voc pode comear "e-mail foi enviado com sucesso". Se voc ficar "Falha ao enviar e-mail com o seguinte erro:", ento por favor d uma olhada na seo seguinte. Onde posso obter o meu e-mail SMTP endereo do servidor, usurio e senha? Como cada provedor de conta de e-mail tem o endereo do servidor diferente, por isso voc deve consultar o endereo do servidor SMTP do seu provedor de conta de email. Para evitar a propagao de e-mail do servidor, a maioria dos servidores SMTP tambm exigem autenticao do usurio. Nome de usurio o seu endereo de e-mail ou o seu endereo de e-mail sem parte de domnio, que depende de sua definio de fornecedor de e-mail. Ao executar o cdigo acima exemplo, se voc receber erro sobre "conexo de rede" ou "host Sem tal" , provvel que o endereo do servidor SMTP no est correta. Se voc receber um erro como "Relay 5xx negado" , provvel que voc no definir a autenticao do usurio. Outro erro comum "5xx deve emitir um comando STARTTLS primeiro" ou "No marechal de autenticao suportado encontrado!" , porque o servidor SMTP requer autenticao de usurio com conexo SSL. Voc pode configurar a conexo SSL para resolver este problema. Finalmente, se voc j tiver definido a sua conta em seu cliente de e-mail como o Outlook ou Window Mail, voc pode consultar o endereo do servidor SMTP, o usurio em seu cliente de email. Por exemplo, voc pode escolher o menu -> "Ferramentas" -> - "Contas" -> "conta Seu email" -> "Propriedades" -> "Servidores" no Outlook Express ou Windows Mail para que o seu servidor SMTP, usurio. Usando EASendMail para enviar e-mail no exige que voc tem cliente de e-mail instalado em sua mquina ou MAPI, no entanto voc pode consultar o seu existir contas de email em seu cliente de e-mail.

Sintaxe e-mail Endereo e vrios destinatrios Sintaxe Mail em EASendMail SMTP Component: Por nico endereo de email (De, ReplyTo, ReturnPath), a sintaxe pode ser: ["] [nome de exibio] ["] <email endereo. Por exemplo: "Tester, T" teste < @ adminsystem.com>, Tester <test@adminsystem.com>, <test@adminsystem.com> ou test@adminsystem.com. Para endereo de email mulitple (Para, CC, Bcc), a sintaxe pode ser: [nico e-mail] , [nico e-mail] ... . (,, \ R \ n) pode ser usado para separar vrios endereos de email , por exemplo: "Tester, T" <test1@adminsystem.com>, Tester2 <test2@adminsystem.com>, <test3@adminsystem.com>, test4@adminsystem.com

[VB.NET Exemplo - sintaxe Email] Para entender melhor a sintaxe de endereo de e-mail, por favor, consulte os seguintes cdigos.

"De um objeto MailAddress, suporta implcita converso de string. "A sintaxe assim:" test@adminsystem.com "ou" Tester <test@adminsystem.com> " "O cdigo de exemplo sem converso implcita. oMail.From = Novo MailAddress ("Tester", "test@adminsystem.com") oMail.From = Novo MailAddress ("Tester <test@adminsystem.com>") oMail.From = Novo MailAddress ("test@adminsystem.com") 'Para, Cc e Bcc um objeto AddressCollection, suporta converso implcita 'Do string. Endereos mltiplos so separados com (, ;)

"A sintaxe assim:" test@adminsystem.com, test1@adminsystem.com " "O cdigo de exemplo sem converso implcita oMail.To = AddressCollection Nova ("test1@adminsystem.com, test2@adminsystem.com") oMail.To = AddressCollection Novo ("Teste1 <test@adminsystem.com>, Test2 <test2@adminsystem.com>") 'Voc pode adicionar mais destinatrio mtodo Add oMail.To.Add (New MailAddress ("testador", "test@adminsystem.com") "Voc tambm pode adicionar cpia carbono (CC) ou cpia oculta (Cco) do email. oMail.Cc.Add (New MailAddress ("destinatrio CC", "cc@adminsystem.com")) oMail.Bcc.Add (New MailAddress ("destinatrio Cco", "bcc@adminsystem.com"))

Reply-To, Return Path e Priority Mail Se voc deseja definir um outro endereo de e-mail para obter o e-mail respondeu em vez de seu endereo De, voc pode usarReplyTo propriedade. Se voc deseja definir um outro endereo de e-mail para obter o relatrio de entrega, em vez de seu endereo De, voc pode usarReturnPath propriedade. Se voc quiser definir a prioridade maior ou menor para seu e-mail, voc pode usar Prioridade PRIORITRIO [Exemplo VB.NET - ReplyTo, ReturnPath e prioridade]

oMail.From = "<test@emailarchitect.net> Tester" 'Definir o endereo para resposta oMail.ReplyTo = "replyto @ @ emailarchitect.net" "Definir o endereo de e-mail para receber relatrio de entrega oMail.ReturnPath = "report@emailarchitect.net" 'Definir prioridade oMail.Priority = MailPriority.High
Prxima Seo Nesta seo, eu apresentei as coisas bsicas de envio de e-mail em VB.NET com EASendMail. Na prxima seo vou apresentar como enviar e-mail atravs de uma conexo SSL. Seguinte: Enviar e-mail sobre SSL em VB.NET -> Na seo anterior , eu apresentei as coisas bsicas de envio de e-mail em VB.NET. Nesta seo, vou apresentar a conexo SSL.

Conexo SSL criptografa os dados entre o componente SMTP e servidor SMTP para proteger a senha do usurio, e-mail e contedo em redes TCP / IP nvel. Agora, esta tecnologia comumente usado e muitos servidores SMTP so implantados com SSL, como Gmail, Yahoo e Hotmail. H duas formas de implementar o SSL no servidor SMTP: 1. Usando STARTTLS comando para mudar de canal SSL no normal porta SMTP (25 ou 587), 2. Implantao de SSL em outra porta (465 ou outra porta, voc pode consult-lo a partir do seu administrador do servidor) diretamente. EASendMail componente SMTP suporta ambos os modos. A ligao pode ser especificada por EASendMail.SmtpConnectType enumerao. Por favor, veja o cdigo exemplo a seguir. [VB.NET Exmaple - SSL / TLS]

"Enviar e-mail normal, por TCP / IP sem conexo SSL OServer Dim Nova SmtpServer ("localhost 25") oServer.ConnectType = SmtpConnectType.ConnectNormal "Enviar e-mail por conexo SSL com o comando STARTTLS comutao OServer Dim Nova SmtpServer ("localhost 25") oServer.ConnectType = SmtpConnectType.ConnectSTARTTLS "Enviar e-mail por conexo SSL com SSL direta. OServer Dim Nova SmtpServer ("localhost 465") oServer.ConnectType = SmtpConnectType.ConnectDirectSSL "Enviar e-mail por conexo SSL com a deteco automtica. "Se a porta de 25 ou 587, STARTTLS SSL ser utilizado; SSL de outra forma direta ser usado. OServer Dim Nova SmtpServer ("localhost 465") oServer.ConnectType = SmtpConnectType.ConnectSSLAuto OServer Dim Nova SmtpServer ("localhost 25") oServer.ConnectType = SmtpConnectType.ConnectSSLAuto

Observaes : Todos os exemplos nesta seo so baseados em primeira seo: Um projeto VB.NET simples . Para compilar e executar os cdigos de exemplo a seguir com sucesso, por favor clique aqui para aprender a criar o projeto de teste e referncia de EASendMail adicionar ao seu projeto. [Exemplo VB.NET - Enviar e-mail sobre SSL direto na porta 465] Os cdigos de exemplo a seguir demonstram como usar EASendMail componente SMTP para enviar e-mail com conexo SSL direto na porta 465. Para obter as amostras integrais de EASendMail, consulte a seo de amostras .

Namespace importaes EASendMail 'EASendMail Adicionar Module Module1 Sub Main () OMail Dim Nova SmtpMail ("TryIt")

OSmtp Dim Nova SmtpClient () 'Set endereo de e-mail do remetente, altere-a para o seu oMail.From = "test@emailarchitect.net" 'Set endereo de e-mail do destinatrio, altere-a para o seu oMail.To = "support@emailarchitect.net" 'Definir assunto do email oMail.Subject = "e-mail de teste de VB.NET projeto" 'Corpo do email Definir oMail.TextBody = "este um e-mail enviado a partir de teste VB.NET projeto, no responda" "O endereo do servidor SMTP OServer Dim Nova SmtpServer ("smtp.emailarchitect.net") 'Set SSL 465 porto oServer.Port = 465 'Estabelecer conexo direta SSL oServer.ConnectType = SmtpConnectType.ConnectDirectSSL 'Usurio e senha para autenticao ESMTP, se o servidor no requer "A autenticao do usurio, remova os seguintes cdigos. oServer.User = "test@emailarchitect.net" oServer.Password = "testpassword" Tentar Console.WriteLine ("comear a enviar e-mail ...") oSmtp.SendMail (oServer, oMail) Console.WriteLine ("e-mail foi enviado com sucesso!") Pegar ep como exceo Console.WriteLine ("falhou ao enviar e-mail com o seguinte erro:") Console.WriteLine (ep.Message) End Try End Sub Mdulo final
[Exemplo VB.NET - Enviar e-mail sobre TLS em 25 ou 587 port] Os cdigos de exemplo a seguir demonstram como usar EASendMail componente SMTP para enviar e-mail com conexo TLS (STARTTLS comando) em 25 de porta. Para obter as amostras integrais de EASendMail, consulte a seo de amostras .

Namespace importaes EASendMail 'EASendMail Adicionar Module Module1 Sub Main () OMail Dim Nova SmtpMail ("TryIt") OSmtp Dim Nova SmtpClient () 'Set endereo de e-mail do remetente, altere-a para o seu oMail.From = "test@emailarchitect.net" 'Set endereo de e-mail do destinatrio, altere-a para o seu oMail.To = "support@emailarchitect.net" 'Definir assunto do email oMail.Subject = "e-mail de teste de VB.NET projeto" 'Corpo do email Definir oMail.TextBody = "este um e-mail enviado a partir de teste VB.NET projeto, no responda" "O endereo do servidor SMTP OServer Dim Nova SmtpServer ("smtp.emailarchitect.net") / / Definir porta 25 oServer.Port = 25; / Set / conexo TLS oServer.ConnectType = SmtpConnectType.ConnectSTARTTLS 'Usurio e senha para autenticao ESMTP, se o servidor no requer "A autenticao do usurio, remova os seguintes cdigos. oServer.User = "test@emailarchitect.net" oServer.Password = "testpassword" Tentar Console.WriteLine ("comear a enviar e-mail ...") oSmtp.SendMail (oServer, oMail) Console.WriteLine ("e-mail foi enviado com sucesso!") Pegar ep como exceo Console.WriteLine ("falhou ao enviar e-mail com o seguinte erro:") Console.WriteLine (ep.Message) End Try End Sub Mdulo final

Prxima Seo Na prxima seo vou apresentar como enviar e-mail usando a conta do Gmail. <- Anterior: Um projeto simples VB.NET | Seguinte: Enviar e-mail usando o Gmail em VB.NET -> Na seo anterior , eu apresentei como enviar e-mail atravs de uma conexo SSL. Nesta seo, vou apresentar como usar sua conta do Gmail para enviar e-mail em VB.NET. Endereo do servidor SMTP do Gmail "smtp.gmail.com". Ele requer conexo SSL ou TLS, e voc deve usar o seu endereo de e-mail Gmail como o nome de usurio para autenticao ESMTP. Por exemplo: seu e-mail "gmailid@gmail.com", e em seguida o nome do usurio deve ser "gmailid@gmail.com". Observaes : Todos os exemplos nesta seo so baseados em primeira seo: Um projeto VB.NET simples . Para compilar e executar os cdigos de exemplo a seguir com sucesso, por favor clique aqui para aprender a criar o projeto de teste e referncia de EASendMail adicionar ao seu projeto. [Exemplo VB.NET - Enviar e-mail usando a conta do Gmail sobre TLS / SSL connection] Os cdigos de exemplo a seguir demonstram como usar EASendMail componente SMTP para enviar e-mail usando a conta do Gmail. Para obter as amostras integrais de EASendMail, consulte a seo de amostras .

Namespace importaes EASendMail 'EASendMail Adicionar Module Module1 Sub Main () OMail Dim Nova SmtpMail ("TryIt") OSmtp Dim Nova SmtpClient () 'O seu endereo de e-mail do gmail oMail.From = "gmailid@gmail.com" 'Set endereo de e-mail do destinatrio, altere-a para o seu oMail.To = "support@emailarchitect.net" 'Definir assunto do email oMail.Subject = "e-mail de teste da conta do Gmail" 'Corpo do email Definir oMail.TextBody = "este um e-mail enviado a partir de teste VB.NET projeto com gmail" 'Gmail endereo do servidor SMTP OServer Dim Nova SmtpServer ("smtp.gmail.com") "Se voc quiser usar direto a porta 465 SSL,

'Adicione esta linha, caso contrrio TLS ser usado. 'OServer.Port = 465 'Detectar SSL / TLS automaticamente oServer.ConnectType = SmtpConnectType.ConnectSSLAuto 'Gmail autenticao de usurio deve usar o seu 'Endereo de e-mail Gmail como o nome de usurio. "Por exemplo: seu e-mail " gmailid@gmail.com ", o usurio deve ser" gmailid@gmail.com " oServer.User = "gmailid" oServer.Password = "yourpassword" Tentar Console.WriteLine ("comear a enviar e-mail sobre SSL ...") oSmtp.SendMail (oServer, oMail) Console.WriteLine ("e-mail foi enviado com sucesso!") Pegar ep como exceo Console.WriteLine ("falhou ao enviar e-mail com o seguinte erro:") Console.WriteLine (ep.Message) End Try End Sub Mdulo final

Prxima Seo Na prxima seo vou apresentar como enviar e-mail com a conta do Yahoo. <- Anterior: Enviar email sobre SSL em VB.NET | Seguinte: Enviar e-mail usando o Yahoo em VB.NET -> Na seo anterior , eu apresentei como enviar e-mail usando a conta do Gmail. Nesta seo, vou apresentar como usar a sua conta do Yahoo para enviar e-mail em VB.NET. Yahoo endereo do servidor SMTP "smtp.mail.yahoo.com". Ele suporta a conexo, Normal / SSL para fazer a autenticao do usurio, e voc deve usar o seu endereo de e-mail do Yahoo, como o nome de usurio para autenticao ESMTP. Por exemplo: seu e-mail "myid@yahoo.com", e em seguida o nome do usurio deve ser "myid@yahoo.com". Se voc quiser usar a conexo SSL com o Yahoo servidor SMTP, voc deve definir a porta para 465. Observaes : Todos os exemplos nesta seo so baseados em primeira seo: Um projeto VB.NET simples . Para compilar e executar os cdigos de exemplo a seguir com sucesso, por

favor clique aqui para aprender a criar o projeto de teste e referncia de EASendMail adicionar ao seu projeto. [Exemplo VB.NET - Enviar e-mail usando a conta do Yahoo sobre conexo SSL direta] Os cdigos de exemplo a seguir demonstram como usar EASendMail componente SMTP para enviar e-mail usando a conta do Yahoo. Para obter as amostras integrais de EASendMail, consulte a seo de amostras .

Namespace importaes EASendMail 'EASendMail Adicionar Module Module1 Sub Main () OMail Dim Nova SmtpMail ("TryIt") OSmtp Dim Nova SmtpClient () 'O seu endereo de e-mail do Yahoo oMail.From = "myid@yahoo.com" 'Set endereo de e-mail do destinatrio, altere-a para o seu oMail.To = "support@emailarchitect.net" 'Definir assunto do email oMail.Subject = "teste de e-mail da conta do yahoo" 'Corpo do email Definir oMail.TextBody = "este um e-mail enviado a partir de teste VB.NET projeto com yahoo" 'Yahoo endereo do servidor SMTP OServer Dim Nova SmtpServer ("smtp.mail.yahoo.com") "Por exemplo: seu e-mail " myid@yahoo.com ", o usurio deve ser" myid@yahoo.com " oServer.User = "myid@yahoo.com" oServer.Password = "yourpassword" "Porque yahoo implanta servidor SMTP na porta 465 com conexo SSL direta. "Portanto, devemos mudar a porta para 465. oServer.Port = 465 'Detectar SSL / TLS tipo automaticamente oServer.ConnectType = SmtpConnectType.ConnectSSLAuto Tentar Console.WriteLine ("comear a enviar e-mail sobre SSL ...") oSmtp.SendMail (oServer, oMail)

Console.WriteLine ("e-mail foi enviado com sucesso!") Pegar ep como exceo Console.WriteLine ("falhou ao enviar e-mail com o seguinte erro:") Console.WriteLine (ep.Message) End Try End Sub Mdulo final

Prxima Seo Na prxima seo vou apresentar como enviar e-mail usando o Hotmail / MSN Live conta. <- Anterior: Enviar e-mail usando o Gmail em VB.NET -> | Seguinte: Enviar e-mail utilizando o Hotmail / MSN Live em VB.NET -> Na seo anterior , eu apresentei como enviar e-mail usando a conta do Yahoo. Nesta seo, vou apresentar como usar o Hotmail / conta Live MSN para enviar e-mail em VB.NET. Hotmail / MSN endereo do servidor SMTP ao vivo "smtp.live.com". Ele requer conexo TLS para fazer a autenticao do usurio, e voc deve usar o seu Hotmail / MSN endereo de e-mail Live como o nome de usurio para autenticao ESMTP. Por exemplo: seu e-mail "liveid@hotmail.com", e em seguida o nome do usurio deve ser "myid@hotmail.com". Observaes : Todos os exemplos nesta seo so baseados em primeira seo: Um projeto VB.NET simples . Para compilar e executar os cdigos de exemplo a seguir com sucesso, por favor clique aqui para aprender a criar o projeto de teste e referncia de EASendMail adicionar ao seu projeto. [Exemplo VB.NET - Enviar e-mail usando o Hotmail / MSN Live conta atravs de uma conexo TLS] Os cdigos de exemplo a seguir demonstram como usar EASendMail componente SMTP para enviar e-mail usando o Hotmail / MSN Live conta. Para obter as amostras integrais de EASendMail, consulte a seo de amostras .

Namespace importaes EASendMail 'EASendMail Adicionar Module Module1 Sub Main () OMail Dim Nova SmtpMail ("TryIt") OSmtp Dim Nova SmtpClient () 'O seu endereo de e-mail hotmail oMail.From = "liveid@hotmail.com" 'Set endereo de e-mail do destinatrio, altere-a para o seu

oMail.To = "support@emailarchitect.net" 'Definir assunto do email oMail.Subject = "e-mail de teste a partir da conta hotmail" 'Corpo do email Definir oMail.TextBody = "este um e-mail enviado a partir de teste VB.NET projeto com hotmail" 'Hotmail endereo do servidor SMTP OServer Dim Nova SmtpServer ("smtp.live.com") 'Hotmail autenticao de usurio deve usar o seu 'Endereo de e-mail como nome de usurio. oServer.User = "liveid@hotmail.com" oServer.Password = "yourpassword" 'Detectar SSL / TLS conexo automaticamente oServer.ConnectType = SmtpConnectType.ConnectSSLAuto Tentar Console.WriteLine ("comear a enviar e-mail sobre SSL ...") oSmtp.SendMail (oServer, oMail) Console.WriteLine ("e-mail foi enviado com sucesso!") Pegar ep como exceo Console.WriteLine ("falhou ao enviar e-mail com o seguinte erro:") Console.WriteLine (ep.Message) End Try End Sub Mdulo final

Prxima Seo Na prxima seo vou apresentar como enviar e-mail sem servidor SMTP especificado. <- Anterior: Enviar e-mail usando o Yahoo em VB.NET | Seguinte: Enviar e-mail diretamente sem servidor SMTP (MX pesquisa de DNS) -> Na seo anterior , eu apresentei como enviar e-mail usando o Hotmail / MSN Live conta. Nesta seo, vou apresentar como usar a pesquisa de DNS para enviar e-mail sem servidor SMTP especificado em VB.NET. Em geral, enviamos e-mail atravs do servidor SMTP especificado. Como que o servidor SMTP especificado sabe o endereo este e-mail deve ser enviado? A resposta ... ele consulta MX registro de domnio do destinatrio atravs de pesquisa de DNS. Em seguida, encaminha este e-

mail para o servidor SMTP consultado a partir do servidor de DNS. Se o servidor do destinatrio no funciona bem, servidor SMTP do remetente ir enviar um relatrio de falha de entrega para o remetente dizendo que no conseguiu enviar o e-mail. Como que EASendMail trabalho componente SMTP com "Enviar e-mail diretamente" ? Em primeiro lugar, ele consulta MX registro para o endereo do destinatrio de DNS, em seguida, envia e-mail para o servidor de e-mail do destinatrio diretamente.Em suma, se nenhum servidor SMTP especificada no cdigo, EASendMail vai enviar e-mail para o destinatrio diretamente. Desde a consulta servidor DNS consome tempo de CPU e recursos de rede, o desempenho de "Enviar e-mail diretamente" menor do que enviar e-mail com o servidor SMTP especificado. Alm disso, hoje em dia mais e mais e-mail bloco servidores SMTP enviados a partir do endereo IP dinmico, por isso no recomendamos que voc use "Direct Enviar e-mail" exceto que voc tem um endereo de IP esttico ou voc encontrar problemas com o servidor SMTP do ISP. Cada beneficirio pode ter servidor SMTP diferente, se houver vrios destinatrios em uma mensagem e que deseja enviar e-mail diretamente, voc deve enviar e-mail para os destinatrios, um por um. Para implementar este recurso, voc s precisa colocar nada a Endereo do servidor SMTP. Observaes : Todos os exemplos nesta seo so baseados em primeira seo: Um projeto VB.NET simples . Para compilar e executar os cdigos de exemplo a seguir com sucesso, por favor clique aqui para aprender a criar o projeto de teste e referncia de EASendMail adicionar ao seu projeto. [Exemplo VB.NET - Enviar e-mail sem servidor SMTP especificado (MX registro de pesquisa DNS)] Os cdigos de exemplo a seguir demonstram como usar EASendMail componente SMTP para enviar e-mail utilizando a pesquisa de DNS. Para obter as amostras integrais de EASendMail, consulte a seo de amostras .

Namespace importaes EASendMail 'EASendMail Adicionar Module Module1 Sub Main () OMail Dim Nova SmtpMail ("TryIt") OSmtp Dim Nova SmtpClient () 'Set endereo de e-mail do remetente, altere-a para o seu oMail.From = "test@emailarchitect.net" 'Set endereo de e-mail do destinatrio, altere-a para o seu oMail.To = "support@emailarchitect.net" 'Definir assunto do email oMail.Subject = "e-mail direto enviado do projeto VB.NET" 'Corpo do email Definir

oMail.TextBody = "este um e-mail enviado a partir de teste VB.NET projeto diretamente" 'Set endereo do servidor SMTP para "" OServer Dim Nova SmtpServer ("") 'No definir a autenticao de usurio "No defina conexo SSL Tentar Console.WriteLine ("comear a enviar e-mail diretamente ...") oSmtp.SendMail (oServer, oMail) Console.WriteLine ("e-mail foi enviado com sucesso!") Pegar ep como exceo Console.WriteLine ("falhou ao enviar e-mail com o seguinte erro:") Console.WriteLine (ep.Message) End Try End Sub Mdulo final

Com o cdigo acima, se voc obter erros como "endereo IP 5xx rejeitado", isso significa que seu endereo IP est bloqueado pelo servidor SMTP do destinatrio. Voc tem que especificar um servidor SMTP com autenticao do usurio para transmitir o seu e-mail. Prxima Seo Na prxima seo vou apresentar como compor e-mail HTML. <- Anterior: Enviar e-mail usando o Hotmail / MSN Live | Seguinte: Enviar e-mail HTML em VB.NET -> Na seo anterior , eu apresentei como enviar e-mail sem servidor SMTP especificado. Nesta seo, vou apresentar como compor e enviar e-mails em HTML em VB.NET. Se voc quiser especificar as imagens a cores de fonte, ou inserir em seu e-mail, voc deve usar o formato HTML e-mail em vez do formato de e-mail de texto simples. Observaes : Todos os exemplos nesta seo so baseados em primeira seo: Um projeto VB.NET simples . Para compilar e executar os cdigos de exemplo a seguir com sucesso, por favor clique aqui para aprender a criar o projeto de teste e referncia de EASendMail adicionar ao seu projeto. [Exemplo VB.NET - Enviar e-mail HTML]

Os cdigos de exemplo a seguir demonstram como usar EASendMail componente SMTP para enviar e-mail em formato HTML corpo.Para obter as amostras integrais de EASendMail, consulte a seo de amostras .

Namespace importaes EASendMail 'EASendMail Adicionar Module Module1 Sub Main () OMail Dim Nova SmtpMail ("TryIt") OSmtp Dim Nova SmtpClient () 'Set endereo de e-mail do remetente, altere-a para o seu oMail.From = "test@emailarchitect.net" 'Set endereo de e-mail do destinatrio, altere-a para o seu oMail.To = "support@emailarchitect.net" 'Definir assunto do email oMail.Subject = "teste de e-mail HTML VB.NET projeto" 'Set corpo HTML oMail.HtmlBody = "<font size=5> Este </ font> <font color=red> <b> um teste </ b> </ font>" "O endereo do servidor SMTP OServer Dim Nova SmtpServer ("smtp.emailarchitect.net") 'Usurio e senha para autenticao ESMTP, se o servidor no requer "A autenticao do usurio, remova os seguintes cdigos. oServer.User = "test@emailarchitect.net" oServer.Password = "testpassword" "Se o servidor SMTP requer conexo SSL / TLS, por favor, adicione esta linha 'OServer.ConnectType = SmtpConnectType.ConnectSSLAuto Tentar Console.WriteLine ("comear a enviar e-mail HTML ...") oSmtp.SendMail (oServer, oMail) Console.WriteLine ("e-mail foi enviado com sucesso!") Pegar ep como exceo Console.WriteLine ("falhou ao enviar e-mail com o seguinte erro:") Console.WriteLine (ep.Message) End Try

End Sub Mdulo final

Depois de recebido o e-mail pelo seu cliente de e-mail, o texto assim:

Claro, voc no tem que escrever o texto do corpo HTML fonte em seu aplicativo manualmente. Voc pode construir um arquivo HTML com ferramentas HTML e usar ImportHtmlBody mtodo para importar o arquivo HTML diretamente. Voc tambm pode se referir ao htmlmail. Amostras * em Installer EASendMail . Esses exemplos demonstram como construir um editor de HTML e-mail e enviar e-mail com anexo HTML ou imagens embutidas / fotos.

Prxima Seo Na prxima seo vou apresentar como anexar arquivo anexo mensagem de e-mail. <- Anterior: Enviar e-mail diretamente sem servidor SMTP (MX pesquisa de DNS) | Seguinte: Enviar e-mail com anexo ->

Na seo anterior , eu apresentei como enviar e-mail HTML. Nesta seo, vou apresentar como adicionar anexo ao e-mail em VB.NET. Para enviar um e-mail com anexo de arquivo, precisamos usar AddAttachment mtodo. Este mtodo pode anexar um arquivo ao e-mail a partir do disco local ou uma URL remota. Observaes : Todos os exemplos nesta seo so baseados em primeira seo: Um projeto VB.NET simples . Para compilar e executar os cdigos de exemplo a seguir com sucesso, por favor clique aqui para aprender a criar o projeto de teste e referncia de EASendMail adicionar ao seu projeto. [Exemplo VB.NET - Adicionar anexo de disco local ou remoto URL] Os cdigos de exemplo a seguir demonstram como usar EASendMail componente SMTP para enviar e-mail com anexos de arquivos.Para obter as amostras integrais de EASendMail, consulte a seo de amostras .

Namespace importaes EASendMail 'EASendMail Adicionar Module Module1 Sub Main () OMail Dim Nova SmtpMail ("TryIt") OSmtp Dim Nova SmtpClient () 'Set endereo de e-mail do remetente, altere-a para o seu oMail.From = "test@emailarchitect.net" 'Set endereo de e-mail do destinatrio, altere-a para o seu oMail.To = "support@emailarchitect.net" 'Definir assunto do email oMail.Subject = "teste de e-mail HTML com anexo" 'Set corpo HTML oMail.HtmlBody = "<font size=5> Este </ font> <font color=red> <b> um teste </ b> </ font>" "O endereo do servidor SMTP OServer Dim Nova SmtpServer ("smtp.emailarchitect.net") 'Usurio e senha para autenticao ESMTP, se o servidor no requer "A autenticao do usurio, remova os seguintes cdigos. oServer.User = "test@emailarchitect.net" oServer.Password = "testpassword" "Se o servidor SMTP requer conexo SSL / TLS, por favor, adicione esta linha 'OServer.ConnectType = SmtpConnectType.ConnectSSLAuto

Tentar 'Adicionar anexo de disco local oMail.AddAttachment ("d: \ test.pdf") 'Adicionar anexo do site remoto oMail.AddAttachment ("http://www.emailarchitect.net/webapp/img/logo.jpg") Console.WriteLine ("comear a enviar e-mail com anexo ...") oSmtp.SendMail (oServer, oMail) Console.WriteLine ("e-mail foi enviado com sucesso!") Pegar ep como exceo Console.WriteLine ("falhou ao enviar e-mail com o seguinte erro:") Console.WriteLine (ep.Message) End Try End Sub Mdulo final

Prxima Seo Na prxima seo vou apresentar como adicionar imagens incorporadas / imagens de mensagem de e-mail. <- Anterior: Enviar e-mail HTML | Seguinte: Enviar e-mail com imagens embutidas -> Na seo anterior , eu apresentei como enviar e-mail com arquivo anexo. Nesta seo, vou apresentar como adicionar imagens incorporadas para enviar e-mail em VB.NET. Para anexar imagens incorporadas para um e-mail, voc deve adicionar um anexo ao e-mail em primeiro lugar. Ento voc deve atribuir um identificador nico (contentid) para este anexo. Finalmente, voc precisa substituir o arquivo src="your <img Name" /> a <img src="cid:yourcontentid" />. Observaes : Todos os exemplos nesta seo so baseados em primeira seo: Um projeto VB.NET simples . Para compilar e executar os cdigos de exemplo a seguir com sucesso, por favor clique aqui para aprender a criar o projeto de teste e referncia de EASendMail adicionar ao seu projeto. [Exemplo VB.NET - Adicionar imagens incorporadas para enviar e-mail] Os cdigos de exemplo a seguir demonstram como usar EASendMail componente SMTP para enviar e-mail com imagens incorporadas. Para obter as amostras integrais de EASendMail, consulte a seo de amostras .

Namespace importaes EASendMail 'EASendMail Adicionar

Module Module1 Sub Main () OMail Dim Nova SmtpMail ("TryIt") OSmtp Dim Nova SmtpClient () 'Set endereo de e-mail do remetente, altere-a para o seu oMail.From = "test@emailarchitect.net" 'Set endereo de e-mail do destinatrio, altere-a para o seu oMail.To = "support@emailarchitect.net" 'Definir assunto do email oMail.Subject = "teste de e-mail HTML com imagem incorporada" "O endereo do servidor SMTP OServer Dim Nova SmtpServer ("smtp.emailarchitect.net") 'Usurio e senha para autenticao ESMTP, se o servidor no requer "A autenticao do usurio, remova os seguintes cdigos. oServer.User = "test@emailarchitect.net" oServer.Password = "testpassword" "Se o servidor SMTP requer conexo SSL / TLS, por favor, adicione esta linha 'OServer.ConnectType = SmtpConnectType.ConnectSSLAuto Tentar 'Adicionar anexo de imagem de disco local OAttachment Dim Anexo oMail.AddAttachment = ("d: \ test.gif") 'Especifica o anexo como uma imagem incorporada 'Contentid pode ser qualquer cadeia. ContentId Dim String = "test001 @ host" oAttachment.ContentID = contentId oMail.HtmlBody = "<html> <body> este um <img src =" "cid:" _ + ContentId + "" "> incorporado imagem. </ Body> </ html>" Console.WriteLine ("comear a enviar e-mail com imagem incorporada ...") oSmtp.SendMail (oServer, oMail) Console.WriteLine ("e-mail foi enviado com sucesso!") Pegar ep como exceo Console.WriteLine ("falhou ao enviar e-mail com o seguinte erro:")

Console.WriteLine (ep.Message) End Try End Sub Mdulo final

Para anexar imagens incorporadas / imagens, SmtpMail.ImportHtmlBody e SmtpMail.ImportHtml mtodos so altamente recomendados. Com esses mtodos, voc no tem que especificar o ContentID manualmente. O corpo de origem / arquivo html html podem ser importados para enviar e-mail com imagens incorporadas automaticamente. Voc tambm pode se referir ao htmlmail. Amostras * em Installer EASendMail . Esses exemplos demonstram como construir um editor de HTML e-mail e enviar e-mail com anexo HTML ou imagens embutidas / fotos.

Prxima Seo Na prxima seo vou apresentar como assinar e-mail com o certificado digital. <- Anterior: Enviar e-mail com anexo | Seguinte: Enviar e-mail com assinatura digital (S / MIME) -> Na seo anterior , eu apresentei como enviar e-mail com imagens incorporadas. Nesta seo, vou apresentar como assinar e-mail com o certificado digital em VB.NET. Assinatura digital impede que o contedo de e-mail falsificado ou alterado no nvel de transporte. Criptografar e-mail protege o contedo de e-mail da exposio aos destinatrios inadequados. Tanto assinatura digital e criptografia de e-mail dependem de certificado digital.

Se voc tem um certificado de assinatura digital de e-mail instalado em sua mquina, voc pode encontr-lo em "Painel de Controle" -> "Opes da Internet" -> "Contedo" -> "Certificados" -> "Pessoal".

Ento voc pode usar o seu certificado e-mail para assinar o e-mail, o seguinte cdigo. Se voc no tem um certificado para o seu endereo de e-mail, voc deve obter um certificado digital para a proteo de e-mail pessoal de autoridades de certificao de terceiros, tais como www.verisign.com. Se voc precisa de um certificado livre para o seu endereo de e-mail, voc pode ir para http://www.comodo.com/home/email-security/free-email-certificate.php para se candidatar a um certificado de e-mail ano livre. Observaes : Todos os exemplos nesta seo so baseados em primeira seo: Um projeto VB.NET simples . Para compilar e executar os cdigos de exemplo a seguir com sucesso, por favor clique aqui para aprender a criar o projeto de teste e referncia de EASendMail adicionar ao seu projeto. [Exemplo VB.NET - Enviar e-mail com assinatura digital (S / MIME)] Os cdigos de exemplo a seguir demonstram como usar EASendMail componente SMTP e-mail para assinar com o certificado digital. Para obter as amostras integrais de EASendMail, consulte a seo de amostras .

Namespace importaes EASendMail 'EASendMail Adicionar Module Module1

Sub Main () OMail Dim Nova SmtpMail ("TryIt") OSmtp Dim Nova SmtpClient () 'Set endereo de e-mail do remetente, altere-a para o seu oMail.From = "test@emailarchitect.net" 'Set endereo de e-mail do destinatrio, altere-a para o seu oMail.To = "support@emailarchitect.net" 'Definir assunto do email oMail.Subject = "e-mail de teste com assinatura digital" 'Corpo do email Definir oMail.TextBody = "este um e-mail de teste com assinatura digital (S / MIME)" "O endereo do servidor SMTP OServer Dim Nova SmtpServer ("smtp.emailarchitect.net") 'Usurio e senha para autenticao ESMTP, se o servidor no requer "A autenticao do usurio, remova os seguintes cdigos. oServer.User = "test@emailarchitect.net" oServer.Password = "testpassword" "Se o servidor SMTP requer conexo SSL / TLS, por favor, adicione esta linha 'OServer.ConnectType = SmtpConnectType.ConnectSSLAuto Tentar 'Encontrar certificado adddress e-mail em minha loja pessoal. "Uma vez que o certificado carregado a partir, o contedo de email "Ser assinado automaticamente oMail.From.Certificate.FindSubject (oMail.From.Address, _ Certificate.CertificateStoreLocation.CERT_SYSTEM_STORE_CURRENT_USER, _ "Minha") Pegar exp como exceo Console.WriteLine ("Nenhum certificado sinal encontrado para <" + _ oMail.From.Address + ">" + exp.Message) End Try Tentar

Console.WriteLine ("comear a enviar e-mail ...") oSmtp.SendMail (oServer, oMail) Console.WriteLine ("e-mail foi enviado com sucesso!") Pegar ep como exceo Console.WriteLine ("falhou ao enviar e-mail com o seguinte erro:") Console.WriteLine (ep.Message) End Try End Sub Mdulo final

Prxima Seo Na prxima seo vou apresentar como criptografar e-mail com o certificado digital. <- Anterior: Enviar e-mail com imagens embutidas | Prxima: Email criptografia S / MIME () -> Na seo anterior , eu apresentei como enviar e-mail com assinatura digital. Nesta seo, vou apresentar como criptografar e-mail com o certificado digital em VB.NET. Depois que o destinatrio recebeu o e-mail com assinatura digital, o destinatrio pode obter a sua chave pblica do certificado digital a partir de sua assinatura digital. Em seguida, o destinatrio pode criptografar um e-mail com a chave pblica e envi-lo para voc. S voc pode decifrar este e-mail com a sua chave privada. Isso como S / MIME pode proteger o seu contedo e-mail. Se voc no exponha a sua chave de certificado digital privado para os outros, no pode ler seu email que criptografada por sua chave pblica. Se voc recebeu um e-mail com assinatura digital, o seu cliente de e-mail, geralmente, armazena a chave pblica do remetente no "Painel de Controle" -> "Opes da Internet" -> "Contedo" -> "Certificados" -> "outras pessoas". Ento voc pode usar o seguinte cdigo para criptografar e-mail e envi-lo para o seu destinatrio. Observaes : Todos os exemplos nesta seo so baseados em primeira seo: Um projeto VB.NET simples . Para compilar e executar os cdigos de exemplo a seguir com sucesso, por favor clique aqui para aprender a criar o projeto de teste e referncia de EASendMail adicionar ao seu projeto. [Exemplo VB.NET - Email Encryption (S / MIME)] Os cdigos de exemplo a seguir demonstram como usar EASendMail componente SMTP para criptografar e-mail com o certificado digital. Para obter as amostras integrais de EASendMail, consulte a seo de amostras .

Namespace importaes EASendMail 'EASendMail Adicionar

Module Module1 Sub Main () OMail Dim Nova SmtpMail ("TryIt") OSmtp Dim Nova SmtpClient () 'Set endereo de e-mail do remetente, altere-a para o seu oMail.From = "test@emailarchitect.net" 'Set endereo de e-mail do destinatrio, altere-a para o seu oMail.To = "support@emailarchitect.net" 'Definir assunto do email oMail.Subject = "e-mail de teste criptografada" 'Corpo do email Definir oMail.TextBody = "este um e-mail de teste com criptografia de e-mail (S / MIME)" "O endereo do servidor SMTP OServer Dim Nova SmtpServer ("smtp.emailarchitect.net") 'Usurio e senha para autenticao ESMTP, se o servidor no requer "A autenticao do usurio, remova os seguintes cdigos. oServer.User = "test@emailarchitect.net" oServer.Password = "testpassword" "Se o servidor SMTP requer conexo SSL / TLS, por favor, adicione esta linha 'OServer.ConnectType = SmtpConnectType.ConnectSSLAuto Tentar 'Encontrar certificado adddress e-mail em minha loja pessoal. "Uma vez que o certificado carregado a partir, o contedo de email "Ser assinado automaticamente oMail.From.Certificate.FindSubject (oMail.From.Address, _ Certificate.CertificateStoreLocation.CERT_SYSTEM_STORE_CURRENT_USER, _ "Minha") Pegar exp como exceo Console.WriteLine ("Nenhum certificado sinal encontrado para <" + _ oMail.From.Address + ">" + exp.Message) End Try

Dim contagem As Integer = oMail.To.Count Para i As Integer = 0 Para contar - 1 OAddress Dim MailAddress = oMail.To (i) Tentar 'Encontrar certificado adddress e-mail em minha loja os outros povos. "O certificado pode ser tambm importado por arquivo * cer como este.: 'OAddress.Certificate.Load ("c: \ encrypt1.cer") "Uma vez que o certificado carregado para MailAddress, o contedo de e-mail 'Ser criptografado automaticamente oAddress.Certificate.FindSubject (oAddress.Address, _ Certificate.CertificateStoreLocation.CERT_SYSTEM_STORE_CURRENT_USER, _ "AddressBook") Pegar ep como exceo Tentar oAddress.Certificate.FindSubject (oAddress.Address, _ Certificate.CertificateStoreLocation.CERT_SYSTEM_STORE_CURRENT_USER, _ "Minha") Pegar exp como exceo Console.WriteLine ("Nenhum certificado encontrado para criptografia <" + _ oAddress.Address + ">" + exp.Message) End Try End Try Prximo Tentar Console.WriteLine ("comear a enviar e-mail criptografado ...") oSmtp.SendMail (oServer, oMail) Console.WriteLine ("e-mail foi enviado com sucesso!") Pegar ep como exceo Console.WriteLine ("falhou ao enviar e-mail com o seguinte erro:") Console.WriteLine (ep.Message)

End Try End Sub Mdulo final

Se voc recebeu e-mail assinado e criptografado digital pelo Windows Mail (Outlook Express), que fica assim:

Prxima Seo Na prxima seo vou apresentar como enviar e-mail com manipulador de eventos. <- Anterior: Enviar e-mail com assinatura digtial - S / MIME | Seguinte: Enviar e-mail com o manipulador de eventos -> Na seo anterior , eu apresentei como criptografar e-mail com o certificado digital. Nesta seo, vou apresentar como enviar e-mail com manipulador de eventos em VB.NET. Nos exemplos anteriores, aps SendMail mtodo invocado, se voc quer saber o andamento do envio de e-mail, voc deve usar o manipulador de eventos . Os cdigos de exemplo a seguir demonstram como usar o manipulador de eventos para monitorar o progresso do envio de e-mail. Observaes : Todos os exemplos nesta seo so baseados em primeira seo: Um projeto VB.NET simples . Para compilar e executar os cdigos de exemplo a seguir com sucesso, por favor clique aqui para aprender a criar o projeto de teste e referncia de EASendMail adicionar ao seu projeto.

[Exemplo VB.NET - Enviar e-mail com manipulador de eventos] Os cdigos de exemplo a seguir demonstram como usar EASendMail componente SMTP para enviar e-mail com manipulador de eventos. Para obter as amostras integrais de EASendMail, consulte a seo de amostras .

Namespace importaes EASendMail 'EASendMail Adicionar Module Module1 Sub OnIdle (sender As Object, ByRef cancelar As Boolean) "Este evento disparado quando o SmtpClient esperar por resposta "Servidor SMTP, se voc adicionar Application.DoEvents em janelas formulrio de pedido, "Isso pode impedir que o formulrio no tem resposta antes SendMail no devolvido. 'Application.DoEvents () End Sub Sub OnConnected (sender As Object, ByRef cancelar As Boolean) Console.WriteLine ("Conectado") End Sub

Sub OnSendingDataStream (sender As Object, ByVal enviado As Integer, _ Total de ByVal As Integer, ByRef Cancel As Boolean) Console.WriteLine (String.Format ("{0} / {1} enviado", enviou, no total)) End Sub Sub OnAuthorized (sender As Object, ByRef Cancel As Boolean) Console.WriteLine ("Autorizado") End Sub Sub OnSecuring (sender As Object, ByRef Cancel As Boolean) Console.WriteLine ("Protegendo ...") End Sub Sub Main () OMail Dim Nova SmtpMail ("TryIt") OSmtp Dim Nova SmtpClient () 'Set endereo de e-mail do remetente, altere-a para o seu oMail.From = "test@emailarchitect.net" 'Set endereo de e-mail do destinatrio, altere-a para o seu oMail.To = "support@emailarchitect.net" 'Definir assunto do email oMail.Subject = "e-mail de teste de VB.NET com manipulador de eventos"

'Corpo do email Definir oMail.TextBody = "este um e-mail enviado a partir de teste VB.NET com manipulador de eventos" "O endereo do servidor SMTP OServer Dim Nova SmtpServer ("smtp.emailarchitect.net") 'Usurio e senha para autenticao ESMTP, se o servidor no requer "A autenticao do usurio, remova os seguintes cdigos. oServer.User = "test@emailarchitect.net" oServer.Password = "testpassword" "Se o servidor SMTP requer conexo SSL / TLS, por favor, adicione esta linha 'OServer.ConnectType = SmtpConnectType.ConnectSSLAuto 'Pegar os seguintes eventos no necessrio, 'Apenas tornar a aplicao mais amigvel. "Se voc usar o objeto em asp.net / servio Windows ou no-gui aplicao, "Voc no precisa pegar os seguintes eventos. "Para saber mais detalhes, consulte o cdigo em EASendMail EventHandler AddHandler oSmtp.OnIdle, AddressOf OnIdle AddHandler oSmtp.OnAuthorized, AddressOf OnAuthorized AddHandler oSmtp.OnConnected, OnConnected AddressOf AddHandler oSmtp.OnSecuring, AddressOf OnSecuring AddHandler oSmtp.OnSendingDataStream, AddressOf OnSendingDataStream Tentar Console.WriteLine ("comear a enviar e-mail com manipulador de eventos ...") oSmtp.SendMail (oServer, oMail) Console.WriteLine ("e-mail foi enviado com sucesso!") Pegar ep como exceo Console.WriteLine ("falhou ao enviar e-mail com o seguinte erro:") Console.WriteLine (ep.Message) End Try End Sub Mdulo final

Prxima Seo

Na prxima seo vou apresentar como enviar e-mail no modo assncrono. <- Anterior: - E-mail criptografia S / MIME | : e-mail de envio no modo assncrono seguinte-> Na seo anterior , eu apresentei como usar manipulador de eventos para monitorar o progresso. Nesta seo, vou apresentar como enviar e-mail no modo assncrono em VB.NET. No modo sncrono, uma vez SendMail mtodo chamado, ele retorna para aplicao aps o mtodo est completo. Portanto, se o tempo de execuo (que depende da conexo de rede e do tamanho e-mail) longo, a sua aplicao no pode fazer nada antes que este mtodo termina, o que resulta "meu aplicativo bloqueado ou interrompido". Em contraste, no modo assncrono, comoBeginSendMail mtodo funciona em segundo plano, este mtodo retornar para aplicao imediatamente, no importa o mtodo de execuo completa ou no. Observaes : Todos os exemplos nesta seo so baseados em primeira seo: Um projeto VB.NET simples . Para compilar e executar os cdigos de exemplo a seguir com sucesso, por favor clique aqui para aprender a criar o projeto de teste e referncia de EASendMail adicionar ao seu projeto. [Exemplo VB.NET - Enviar e-mail no modo assncrono] Os cdigos de exemplo a seguir demonstram como usar EASendMail componente SMTP para enviar e-mail no modo assncrono.Para obter as amostras integrais de EASendMail, consulte a seo de amostras .

Namespace importaes EASendMail 'EASendMail Adicionar Module Module1 Sub Main () OMail Dim Nova SmtpMail ("TryIt") OSmtp Dim Nova SmtpClient () 'Set endereo de e-mail do remetente, altere-a para o seu oMail.From = "test@emailarchitect.net" 'Set endereo de e-mail do destinatrio, altere-a para o seu oMail.To = "support@emailarchitect.net" 'Definir assunto do email oMail.Subject = "email assncrona teste de VB.NET" 'Corpo do email Definir oMail.TextBody = "este um e-mail enviado a partir de teste VB.NET com o modo assncrono" "O endereo do servidor SMTP OServer Dim Nova SmtpServer ("smtp.emailarchitect.net") 'Usurio e senha para autenticao ESMTP, se o servidor no requer

"A autenticao do usurio, remova os seguintes cdigos. oServer.User = "test@emailarchitect.net" oServer.Password = "testpassword" "Se o servidor SMTP requer conexo SSL, por favor, adicione esta linha 'OServer.ConnectType = SmtpConnectType.ConnectSSLAuto Tentar Console.WriteLine ("comear a enviar e-mail no modo assncrono ...") Dim oResult Como SmtpClientAsyncResult = oSmtp.BeginSendMail (_ oServer, oMail, nada, nada) "Espere para o envio de e-mail ... Do While (No oResult.IsCompleted) Console.WriteLine ("esperando ..., voc pode fazer outra coisa!") oResult.AsyncWaitHandle.WaitOne (50, False) Lao oSmtp.EndSendMail (oResult) Pegar ep como exceo Console.WriteLine ("falhou ao enviar e-mail com o seguinte erro:") Console.WriteLine (ep.Message) End Try End Sub Mdulo final

Prxima Seo Na prxima seo vou apresentar como enviar email em massa com vrios segmentos. <- Anterior: Enviar e-mail com manipulador de eventos | Seguinte: Enviar e-mail com vrios segmentos (e-mail em massa) -> Na seo anterior , eu apresentei como usar o modo assncrono. Nesta seo, vou apresentar como enviar email em massa com vrios segmentos em VB.NET. Baseado no modo assncrono, voc pode criar vrias instncias SmtpClient em seu aplicativo e enviar e-mail em vrios segmentos.Aqui est um exemplo simples demonstra como usar o modo assncrono para enviar e-mail em vrios segmentos. Observaes : Todos os exemplos nesta seo so baseados em primeira seo: Um projeto VB.NET simples . Para compilar e executar os cdigos de exemplo a seguir com sucesso, por

favor clique aqui para aprender a criar o projeto de teste e referncia de EASendMail adicionar ao seu projeto. [Exemplo VB.NET - Enviar e-mail em massa com vrios segmentos] Os cdigos de exemplo a seguir demonstram como usar EASendMail componente SMTP para enviar e-mail em massa com vrios segmentos. Para obter as amostras integrais de EASendMail, consulte a seo de amostras .

Namespace importaes EASendMail 'EASendMail Adicionar Module Module1 Sub Main () ArRcpt Dim () As String = {"test1@adminsystem.com", _ "Test2@adminsystem.com", _ "Test3@adminsystem.com"} NRcpt Dim As Integer = arRcpt.Length Dim arMail (nRcpt - 1) Como SmtpMail Dim arSmtp (nRcpt - 1) Como SmtpClient Dim arResult (nRcpt - 1) Como SmtpClientAsyncResult Para i As Integer = 0 To nRcpt - 1 arMail (i) = New SmtpMail ("TryIt") arSmtp (i) = Nova SmtpClient () Prximo Para i As Integer = 0 To nRcpt - 1 OMail Dim SmtpMail = arMail (i) 'Set endereo de e-mail do remetente oMail.From = "sender@emailarchitect.net" 'Set endereo de e-mail destinatrio oMail.To = arRcpt (i) 'Definir assunto do email oMail.Subject = "teste de e-mail em massa de vb.net" 'Corpo do email Definir oMail.TextBody = "teste do c #, este e-mail enviado para" + arRcpt (i) "O endereo do servidor SMTP OServer Dim Nova SmtpServer ("smtp.emailarchitect.net") 'Usurio e senha para autenticao ESMTP, se o servidor no requer "A autenticao do usurio, remova os seguintes cdigos. oServer.User = "test@emailarchitect.net"

oServer.Password = "testpassword" "Se o servidor SMTP requer conexo SSL / TLS, por favor, adicione esta linha 'OServer.ConnectType = SmtpConnectType.ConnectSSLAuto OSmtp Dim SmtpClient = arSmtp (i) "Enviar e-mail para BeginSendMail mtodo e retornar 'Para processar outro e-mail arResult (i) = oSmtp.BeginSendMail (oServer, oMail, nada, nada) Console.WriteLine (String.Format ("Iniciar para enviar e-mail para {0} ...", _ arRcpt (i))) Prximo 'Todos os e-mails foram enviados pelo Mtodo BeginSendMail 'Agora obter resultado pelo mtodo EndSendMail NSent Dim As Integer = 0 Do While (nSent <nRcpt) Para i As Integer = 0 To nRcpt - 1 'Este e-mail est acabado Se (arResult (i) no nada) Ento Para continuar End If 'Esperar por e-mail especificado ... Se (No arResult (i). AsyncWaitHandle.WaitOne (10, False)) Ento Para continuar End If Tentar 'Este e-mail est terminado, usando EndSendMail para obter resultado arSmtp (i). EndSendMail (arResult (i)) Console.WriteLine (String.Format ("Enviar e-mail para {0} com sucesso", _ arRcpt (i))) Pegar ep como exceo Console.WriteLine (_ String.Format ("Falha ao enviar e-mail para {0} com erro {1}", _ arRcpt (i), ep.Message)) End Try

"Definir este resultado e-mail para null, ento ele no ser processado novamente arResult (i) = Nada nSent + = 1 Prximo Lao End Sub Mdulo final

Prxima Seo Na prxima seo vou apresentar como enviar e-mail com EASendMail Fila de Servio em ASP.NET. <- Anterior: Enviar e-mail com o modo assncrono | Seguinte: Enviar e-mail com EASendMail Queue Service -> Na seo anterior , eu apresentei como enviar e-mails em massa com vrios segmentos. Nesta seo, vou apresentar como enviar e-mail com EASendMail Fila de Servio em ASP.NET, VB. EASendMail Service um servio de entrega de e-mail leve e rpido, que trabalha com EASendMail Componente SMTP para permitir a sua aplicao para enviar e-mails em massa no servio de fila de fundo. Junto com a sua capacidade de escolher os destinatrios de banco de dados em segundo plano e envio de e-mail na data e hora especificado, ele facilita a sua tarefa no desenvolvimento de aplicativo de e-mail destaque como a aplicao newsletter. Recomendamos fortemente que voc utilizar o servio de EASendMail com o ASP.NET / Web Application. Para trabalhar com Servio EASendMail, faa o download Servio EASendMail e instal-lo em seu servidor. Se voc estiver usando o servio de hospedagem na web e voc no tem permisso para instalar o servio no servidor, EASendMail servio no adequado para voc. Com EASendMail recurso de fila de e-mail, voc no tem o cdigo de roscas mltiplas. EASendMail servio pode enviar e-mail no fundo com roscas mltiplas automaticamente. Voc s precisa ajustar os segmentos de trabalho mximas em EASendMail Service Manager para aumentar o desempenho. Por favor, clique aqui para saber mais detalhes sobre Servio EASendMail. Se a sua conexo de rede para o servidor SMTP no muito rpido, Servio EASendMail absolutamente soluo para voc . Voc s precisa enviar o e-mail para EASendMail fila de servio, ele muito rpido porque o servio EASendMail usa memria compartilhada para aceitar e-mail de componente EASendMail, e ento, o servio ir enviar e-mail no servio de fundo.Ele muito importante para melhorar o tempo de resposta para aplicao web ASP.NET . Observaes : Todos os exemplos nesta seo so baseados em primeira seo: Um projeto VB.NET simples . Para compilar e executar os cdigos de exemplo a seguir com sucesso, por favor clique aqui para aprender a criar o projeto de teste e referncia de EASendMail adicionar ao seu projeto. [Exemplo VB.NET - Enviar e-mail com EASendMail Queue Service]

Os cdigos de exemplo a seguir demonstram como usar EASendMail componente SMTP para enviar e-mail com EASendMail Queue Service. Para obter as amostras integrais de EASendMail, consulte a seo de amostras .

"Os cdigos de exemplo a seguir demonstram o envio de mensagem de e-mail usando fila de e-mail "Para se ter projetos amostra completa, faa o download e instale EASendMail em sua mquina. "Para execut-lo corretamente, por favor, mude o servidor SMTP, usurio, senha, remetente, destinatrio para o seu valor 'Adicionar namespace EASendMail EASendMail importaes Module Module1 Sub Main () OMail Dim Nova SmtpMail ("TryIt") OSmtp Dim Nova SmtpClient () 'Set endereo de e-mail do remetente, altere-a para o seu oMail.From = "test@emailarchitect.net" 'Set endereo de e-mail do destinatrio, altere-a para o seu oMail.To = "support@emailarchitect.net" 'Definir assunto do email oMail.Subject = "e-mail de teste de VB.NET projeto" 'Corpo do email Definir oMail.TextBody = "este um e-mail enviado a partir de teste VB.NET projeto, no responda" "O endereo do servidor SMTP OServer Dim Nova SmtpServer ("smtp.emailarchitect.net") 'Usurio e senha para autenticao ESMTP, se o servidor no requer "A autenticao do usurio, remova os seguintes cdigos. oServer.User = "test@emailarchitect.net" oServer.Password = "testpassword" "Se o servidor SMTP requer conexo SSL, por favor, adicione esta linha 'OServer.ConnectType = SmtpConnectType.ConnectSSLAuto Tentar Console.WriteLine ("comear a enviar e-mail ...") "Voc s precisa mudar de mtodo SendMail para SendMailToQueue mtodo em

'Sua aplicao web ASP.NET, em seguida, usa EASendMail fila para enviar e-mail. 'SendMailToQueue pode ser usado em aplicao de janelas tambm. oSmtp.SendMailToQueue (oServer, oMail) Console.WriteLine ("e-mail foi enviado com sucesso fila!") Pegar ep como exceo Console.WriteLine ("falhou ao enviar e-mail com o seguinte erro:") Console.WriteLine (ep.Message) End Try End Sub Mdulo final
Prxima Seo Na prxima seo vou apresentar como enviar e-mails em massa com EASendMail Fila de Banco de Dados Servio em ASP.NET. <- Anterior: Enviar e-mail com vrios segmentos (Correio em Massa) | Seguinte: Enviar e-mails em massa com EASendMail Fila de Banco de Dados Servio -> Na seo anterior , eu apresentei como enviar e-mail Service Queue EASendMail. Nesta seo, vou apresentar como enviar e-mails em massa com fila de banco de dados avanado em ASP.NET, VB. Embora EASendMail servio fornece uma maneira mais rpida para enviar e-mail no fundo, mas existem milhares de e-mails em uma tarefa, o SendMailToQueue ser invocado por vezes milhares, obviamente, no a maneira de efeito. Portanto, EASendMail servio fornece uma maneira mais eficaz de enviar e-mails em massa. Em suma, voc s precisa enviar sua conexo com o banco e recorde uma vez, servio EASendMail vai pegar o recorde de fundo e enviar e-mail para cada registro de um por um. Ele muito til para enviar e-mails em massa em aplicao web ASP.NET . Para entender melhor a fila de banco de dados, necessrio criar trs tabelas em seu banco de dados SQL como esta:

CREATE TABLE [dbo]. [Rcpts] ( [Uid] [bigint] IDENTITY (1,1) NOT NULL, [Nome] [nvarchar] (50) NULL, [E-mail] [nvarchar] (128) NOT NULL, CONSTRAINT [PK_rcpts] PRIMARY KEY CLUSTERED ( [Uid] ASC ) COM (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY] ) ON [PRIMARY]

GO CREATE TABLE [dbo]. [Errorlog] ( [Uid] [bigint] IDENTITY (1,1) NOT NULL, [E-mail] [nvarchar] (128) NULL, [Servidor] [nvarchar] NULL (50), [Errorcode] [nvarchar] NULL (50), [ErrorDescription] [nvarchar] (255) NULL, CONSTRAINT [PK_errorlog] PRIMARY KEY CLUSTERED ( [Uid] ASC ) COM (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY] ) ON [PRIMARY] GO CREATE TABLE [dbo]. [Sentlog] ( [Uid] [bigint] IDENTITY (1,1) NOT NULL, [Servidor] [nvarchar] NULL (50), [E-mail] [nvarchar] (128) NULL, CONSTRAINT [PK_sentlog] PRIMARY KEY CLUSTERED ( [Uid] ASC ) COM (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY] ) ON [PRIMARY] GO

Em seguida, insira dois registros em 'rcpts' tabela como esta:

Observaes : Todos os exemplos nesta seo so baseados em primeira seo: Um projeto VB.NET simples . Para compilar e executar os cdigos de exemplo a seguir com sucesso, por favor clique aqui para aprender a criar o projeto de teste e referncia de EASendMail adicionar ao seu projeto. [Exemplo VB - Enviar e-mails em massa com EASendMail Fila de Banco de Dados de Servio]

"Os cdigos de exemplo a seguir demonstram o envio de mensagem de e-mail usando fila de e-mail + banco de dados "Para se ter projetos amostra completa, faa o download e instale EASendMail em sua mquina. "Para execut-lo corretamente, por favor, mude o servidor SMTP, usurio, senha, remetente, destinatrio para o seu valor 'Adicionar namespace EASendMail EASendMail importaes Module Module1 Sub Main () OMail Dim Nova SmtpMail ("TryIt") OSmtp Dim Nova SmtpClient () 'Set endereo de e-mail do remetente, altere-a para o seu oMail.From = "test@emailarchitect.net" 'Definir assunto do email oMail.Subject = "e-mail de teste de VB.NET projeto" "O endereo do servidor SMTP OServer Dim Nova SmtpServer ("smtp.emailarchitect.net") 'Usurio e senha para autenticao ESMTP, se o servidor no requer "A autenticao do usurio, remova os seguintes cdigos. oServer.User = "test@emailarchitect.net" oServer.Password = "testpassword" "Se o servidor SMTP requer conexo SSL, por favor, adicione esta linha 'OServer.ConnectType = SmtpConnectType.ConnectSSLAuto "Se voc quiser o servio EASendMail para enviar o e-mail depois de 10 minutos, 'Use o seguinte cdigo. 'OMail.Date = System.DateTime.Now.AddMinutes (10); 'EASendMail vai usar a seguinte conexo para se conectar ao banco de dados, "A sintaxe a mesma ADO objeto de conexo. oMail.Headers.ReplaceHeader ("X-Data Connection", _ "Driver = {SQL Native Client};" & _ "Server = ServerAddress; banco de dados = banco de dados; uid = usurio; Pwd = senha;") 'EASendMail ir selecionar os campos, a seguinte instruo SQL 'Antes de enviar e-mail, 'Ento pegar o endereo do destinatrio do campo especificado.

oMail.Headers.ReplaceHeader ("X-Sql-Select", "SELECT uid, nome, e-mail dos destinatrios") 'Pick campo "nome" como o nome do destinatrio e "e-mail" campo como "O endereo do destinatrio. 'Voc pode tambm usar {$ var_srecord: fieldname} para escolher qualquer campo 'Em X-Sql-Select declarao e coloc-lo ao assunto, bodytext, ento EASendMail vontade "Substitu-lo automatially. oMail.Headers.ReplaceHeader ("Para", "" "{$ var_srecord: nome}" "<{$ var_srecord: email}>") oMail.Headers.ReplaceHeader ("X-Rcpt-To", "{$ var_srecord: email}") 'Servio EASendMail ir executar a seguinte instruo SQL em "Cada e-mail foi enviado com sucesso. oMail.Headers.ReplaceHeader ("X-Sql-OnSentSuccess", _ "INSERT INTO sentlog (servidor, e-mail) VALUES ('{$ var_server}', '{$ var_rcptaddr}')") 'Servio EASendMail ir executar a seguinte instruo SQL em 'Cada e-mail no pde ser enviada. oMail.Headers.ReplaceHeader ("X-Sql-OnSentError", _ "INSERT INTO errorlog (servidor de e-mail, cdigo de erro, ErrorDescription)" & _ "VALUES ('{$ var_rcptaddr}', '{$ var_server}', '{$ var_errcode}', '{$ var_errdesc}')") S Dim String = "Ol {$ var_srecord: name}," & vbCrLf s + = "este exemplo demonstra como enviar e-mail usando fila de email." & VbCrLf & vbCrLf s + = "O seu ID no banco de dados {$ var_srecord: uid}." & VbCrLf & vbCrLf s + = "No importa quantos beneficirios existem, EASendMail" s + = "servio ir enviar o e-mail no fundo." & VbCrLf oMail.TextBody = s '{$ Var_srecord: uid} {$ var_srecord: nome} {$ var_srecord: email} em 'Corpo do texto ser 'Ser substitudo por EASendMail automaticamente. Tentar Console.WriteLine ("comear a enviar e-mail ...") "Voc s precisa mudar de mtodo SendMail para SendMailToQueue mtodo em

'Sua aplicao web ASP.NET, em seguida, usa EASendMail fila para enviar e-mail. 'SendMailToQueue pode ser usado em aplicao de janelas tambm. oSmtp.SendMailToQueue (oServer, oMail) Console.WriteLine ("e-mail foi enviado com sucesso fila!") Pegar ep como exceo Console.WriteLine ("falhou ao enviar e-mail com o seguinte erro:") Console.WriteLine (ep.Message) End Try End Sub Mdulo final

Com os cdigos acima, no importa quantos registros em sua tabela, SendMailToQueue chamado apenas uma vez e servio EASendMail vai pegar registros no fundo e enviar o e-mail baseado em cada registro para o destinatrio um por um. Insere tambm os resultados de volta para "errorlog" e "sentlog" tabelas automaticamente. Voc pode abrir EASendMail Service Manager para monitorar a fila e ver Journal -> Erro de sistema para verificar se h erro com sua conexo de banco de dados e instruo SQL. Prxima Seo Na prxima seo vou apresentar como enviar e-mail com o Exchange Web Service. <- Anterior: Enviar e-mail com EASendMail Fila Servio | Seguinte: Enviar e-mail com o Exchange Web Service -> Na seo anterior , eu apresentei como enviar email em massa com EASendMail fila de banco de dados do servio SMTP. Nesta seo, vou apresentar como enviar e-mail com o Exchange Web Service - EWS. Exchange Web Services (EWS), uma alternativa para o protocolo MAPI, um protocolo SOAP documentado baseado introduzido com o Exchange Server 2007. Podemos usar HTTP ou HTTPS para enviar e-mail com o Exchange Web Services (EWS), em vez de protocolo SMTP. Com EASendMail Componente SMTP, voc no tem que construir sua EWS solicitao SOAP XML e analisar a resposta. Ela envolve o XML e SOAP solicitao HTTP automaticamente. Voc s precisa mudar o SmtpServer.Protocol propriedade, e depois EASendMail usa protocolo Web Service para enviar e-mail. O servidor deve ser a verso do Exchange 2007 ou posterior, caso contrrio, voc no pode usar o Exchange protocolo Web Service. Observaes : Todos os exemplos nesta seo so baseados em primeira seo: Um simples projeto Visual Basic.NET . Para compilar e executar os cdigos de exemplo a seguir com sucesso, por favor clique aqui para aprender a criar o projeto de teste e referncia de EASendMail adicionar ao seu projeto.

[Exemplo VB - Enviar e-mail com o Exchange Web Service - EWS] Os cdigos de exemplo a seguir demonstram como usar EASendMail componente SMTP para enviar e-mail com o Exchange Web Service (EWS). Para obter as amostras integrais de EASendMail, consulte a seo de amostras .

Namespace importaes EASendMail 'EASendMail Adicionar Module Module1 Sub Main () OMail Dim Nova SmtpMail ("TryIt") OSmtp Dim Nova SmtpClient () 'Set endereo de e-mail do remetente, altere-a para o seu oMail.From = "test@emailarchitect.net" 'Set endereo de e-mail do destinatrio, altere-a para o seu oMail.To = "support@emailarchitect.net" 'Definir assunto do email oMail.Subject = "e-mail de teste de VB.NET projeto" 'Corpo do email Definir oMail.TextBody = "este um e-mail enviado a partir de teste VB.NET projeto, no responda" 'O seu endereo de servidor Exchange OServer Dim Nova SmtpServer ("exch.emailarchitect.net") 'Set Exchange Web Servio de Protocolo (EWS) - Troca 2007/2010 oServer.Protocol = ServerProtocol.ExchangeEWS 'Usurio e senha para o Exchange autenticao do usurio oServer.User = "teste" oServer.Password = "testpassword" "Por padro, o Exchange Web Service requer conexo SSL oServer.ConnectType = SmtpConnectType.ConnectSSLAuto Tentar Console.WriteLine ("comear a enviar e-mail ...") oSmtp.SendMail (oServer, oMail) Console.WriteLine ("e-mail foi enviado com sucesso!") Pegar ep como exceo Console.WriteLine ("falhou ao enviar e-mail com o seguinte erro:") Console.WriteLine (ep.Message)

End Try End Sub Mdulo final

Prxima Seo Na prxima seo vou apresentar como enviar e-mail com o Exchange WebDAV. <- Anterior: Enviar e-mails em massa, com EASendMail Fila de Banco de Dados Servio | Seguinte: Enviar e-mail com o Exchange WebDAV -> Na seo anterior , eu apresentei como enviar e-mail com o Exchange Web Service - EWS. Nesta seo, vou apresentar como enviar e-mail com o Exchange WebDAV. Exchange WebDAV um conjunto de mtodos baseados no protocolo HTTP para gerenciar usurios, mensagens no Microsoft Exchange Server. Podemos usar HTTP ou HTTPS para enviar email com o Exchange WebDAV em vez de protocolo SMTP. Com EASendMail Componente SMTP, voc no tem que construir o seu pedido WebDAV e analisar a resposta. Ela envolve a solicitao HTTP WebDAV automaticamente. Voc s precisa mudar o SmtpServer.Protocol propriedade, e depois EASendMail usa protocolo WebDAV para enviar email. O servidor deve ser Exchange 2000 ou 2003 verso, caso contrrio, voc no pode usar o Exchange protocolo WebDAV. Embora o Exchange 2007 ainda suporta o protocolo WebDAV, mas o estado padro de WebDAV no Exchange 2007 est desativado, ento voc deve usar o Exchange Web Service protocolo com o Exchange 2007 ou verso posterior. Observaes : Todos os exemplos nesta seo so baseados em primeira seo: um projeto Visual Basic simples . Para compilar e executar os cdigos de exemplo a seguir com sucesso, por favor clique aqui para aprender a criar o projeto de teste e referncia de EASendMail adicionar ao seu projeto. [Exemplo VB - Enviar e-mail com o Exchange WebDAV] Os cdigos de exemplo a seguir demonstram como usar EASendMail componente SMTP para enviar e-mail com o Exchange WebDAV. Para obter as amostras integrais de EASendMail, consulte a seo de amostras .

Namespace importaes EASendMail 'EASendMail Adicionar Module Module1 Sub Main () OMail Dim Nova SmtpMail ("TryIt") OSmtp Dim Nova SmtpClient () 'Set endereo de e-mail do remetente, altere-a para o seu oMail.From = "test@emailarchitect.net"

'Set endereo de e-mail do destinatrio, altere-a para o seu oMail.To = "support@emailarchitect.net" 'Definir assunto do email oMail.Subject = "e-mail de teste de VB.NET projeto" 'Corpo do email Definir oMail.TextBody = "este um e-mail enviado a partir de teste VB.NET projeto, no responda" 'O seu endereo de servidor Exchange OServer Dim Nova SmtpServer ("exch.emailarchitect.net") 'Set Exchange WebDAV protocolo - Exchange 2000/2003 oServer.Protocol = ServerProtocol.ExchangeWebDav 'Usurio e senha para o Exchange autenticao do usurio oServer.User = "teste" oServer.Password = "testpassword" "Se o Exchange WebDAV requer conexo SSL, por favor, adicione esta linha 'OServer.ConnectType = SmtpConnectType.ConnectSSLAuto

Tentar Console.WriteLine ("comear a enviar e-mail ...") oSmtp.SendMail (oServer, oMail) Console.WriteLine ("e-mail foi enviado com sucesso!") Pegar ep como exceo Console.WriteLine ("falhou ao enviar e-mail com o seguinte erro:") Console.WriteLine (ep.Message) End Try End Sub Mdulo final

Veja tambm <- Anterior: Enviar e-mail com o Exchange Web Service | Seguinte: e-mail Total de envio de projetos de exemplo ->

Depois de baixado o EASendMail Installer Componente SMTP e instal-lo em sua mquina, h muitos exemplos no caminho da instalao.

spide asp_queue

Enviar e-mail da ASP (VBScript, JScript) - ActiveX / COM Envie e-mail para o Servio de ASP EASendMail. (VBScript, JScript) ActiveX / COM Enviar e-mail da ASP para EASendMail Servio, EASendMail servio ir selecionar os destinatrios de banco de dados. (VBScript, JScript) - ActiveX / COM Enviar e-mail a partir do ASP.NET. (C #, VB, JScript.NET) Enviar e-mails em massa com vrios segmentos de ASP.NET. (C #, VB) Enviar e-mail a partir do ASP.NET para EASendMail Servio. (C #, VB, JScript.NET) Enviar e-mail a partir do ASP.NET para EASendMail Servio, EASendMail servio vai selecionar os destinatrios de banco de dados. (C #, VB, JScript.NET) Enviar mensagens de texto / simples e-mail do Visual Basic 6.0. Este exemplo tambm demonstra assinatura digital de criptografia de email. (VB6) - ActiveX / COM Enviar mensagens de texto / simples e-mail do Delphi. Este exemplo tambm demonstra assinatura digital de criptografia de e-mail. (Delphi) ActiveX / COM Enviar mensagens de texto / simples e-mail a partir do Visual C + +. Este exemplo tambm demonstra assinatura digital de criptografia de email. (Visual C + +) - ActiveX / COM Enviar mensagens de texto / simples e-mail a partir do Visual Basic.NET. Este exemplo tambm demonstra assinatura digital de criptografia de e-mail. Enviar mensagens de texto / simples e-mail a partir de C #. Este exemplo tambm demonstra assinatura digital de criptografia de e-mail. Enviar mensagens de texto / simples e-mail a partir de Managed C + +. Este exemplo tambm demonstra assinatura digital de criptografia de e-mail. Enviar mensagens de texto / html e-mail do Visual Basic 6.0. Este exemplo tambm demonstra quadros embutidos, assinatura digital, criptografia de email. (VB6) - ActiveX / COM Enviar text / html e-mail do Delphi. Este exemplo tambm demonstra quadros embutidos, assinatura digital, criptografia de e-mail. (Delphi) ActiveX / COM Enviar text / html e-mail a partir do Visual C + +. Este exemplo tambm demonstra quadros embutidos, assinatura digital, criptografia de email. (Visual C + +) - ActiveX / COM Enviar text / html e-mail a partir do Visual Basic.NET. Este exemplo tambm demonstra quadros embutidos, assinatura digital, criptografia de email. Enviar text / html e-mail de C #. Este exemplo tambm demonstra quadros embutidos, assinatura digital, criptografia de e-mail.

asp_queue_database

asp_net asp_net_batch asp_net_queue

asp_net_queue_database

simple.vb6

simple.delphi

simple.vcNative

simple.vb

simple.csharp

simple.vc

htmlmail.vb6

htmlmail.delphi

htmlmail.vcNative

htmlmail.vb

htmlmail.csharp

mass.vb6

Enviar e-mail por FastSender com roscas mltiplas. Este exemplo tambm demonstra endereo de e-mail de validao. (VB6) - ActiveX / COM Enviar e-mail por FastSender com roscas mltiplas. Este exemplo tambm demonstra endereo de e-mail de validao. (Delphi) - ActiveX / COM Enviar e-mail por BeginSendMail com roscas mltiplas. Este exemplo tambm demonstra endereo de e-mail de validao. Enviar e-mail por BeginSendMail com roscas mltiplas. Este exemplo tambm demonstra testes endereo de e-mail. Enviar e-mail de PocketPC / Windows Mobile System.

mass.delphi

mass.vb

mass.csharp

samples_vs2008 \ pocketpc.mobile.cs samples_vs2008 \ pocketpc.mobile.vb Samples_MSSQL

Enviar e-mail de PocketPC / Windows Mobile System.

Enviar e-mail a partir do MS SQL Server procedimento armazenado.

Suporte E-mail grtis No suficiente? Por favor, entre em contato com nossa equipe de suporte tcnico. Support@EmailArchitect.NET Observaes Costumamos responder e-mails em 24 horas. A razo para no obter resposta provvel que o seu servidor SMTP saltou nossa resposta. Neste caso, por favor, tente usar outro endereo de email para contato. Sua conta de e-mail Gmail, Hotmail ou Yahoo recomendado.

Fonte: http://www.emailarchitect.net/easendmail/kb/vbnet.aspx?cat=19

You might also like