1. Utilize o software de envio fornecido pelo outLook, como o software UFIDA U8 Manufacturing (versão demo) que vi, em que a função de e-mail é enviada chamando o componente ActiveX do outLook Vantagens: Desenvolvimento simples. componente Outlook, serviço de correio SMTP
para enviar e-mails O código é o seguinte:
Private Sub Send().
Dim outObj como novo Outlook.Application()
Escurecer item como Outlook.MailItemClass
Item = outObj.CreateItem(0)
Item.To = "
[email protected] "
Item.Subject = "olá"
Item.Body = "inferno"
Item.Attachments.Add("C:abc.txt")
Item.Enviar()
End Sub
2. Desenvolvimento WEB, consulte System.Web.Mail em ASP.NET tipo
O namespace System.Web.Mail contém classes que permitem construir e enviar mensagens usando o componente de mensagem CDOSYS (Collaboration Data Objects for Windows 2000). As mensagens de correio são entregues através do serviço de correio SMTP incorporado no Microsoft Windows 2000 ou através de qualquer servidor SMTP. As classes neste namespace podem ser usadas no ASP.NET ou em qualquer aplicativo gerenciado
MailAttachment fornece propriedades e métodos para construir anexos de email.
MailMessage fornece propriedades e métodos para construir mensagens de email.
SmtpMail fornece propriedades e métodos para enviar mensagens usando o componente de mensagem Collaboration Data Objects (CDOSYS) do Windows 2000.
A correspondência pode ser entregue através do serviço de correio SMTP integrado ao Microsoft Windows 2000 ou através de qualquer servidor SMTP. Os tipos no namespace System.Web.Mail podem ser usados no ASP.NET ou em qualquer aplicativo gerenciado.
Configurações do servidor Smtp. Agora, alguns provedores de e-mail gratuitos não fornecem mais serviços Smtp para todos os e-mails. Ao enviar e-mails, as informações do usuário precisam ser verificadas. seja muito rápido, basicamente não se preocupe. Se não for um servidor local, é melhor não usá-lo muito ao enviar. acho que é spam e o código de negação de serviço é o seguinte:
Private Sub Button1_Click (ByVal sender As System.Object, ByVal e As System.EventArgs) Lida com Button1.Click
Dim mailObj como nova MailMessage()
Dim smtp como SmtpMail
'Define o nome do servidor SMTP
smtp.SmtpServer = "smtp.XXX.com"
'Define o endereço de envio do e-mail
mailObj.From = "
[email protected] "
'Define o endereço de recebimento de e-mail
mailObj.To = "
[email protected] "
'Define o endereço CCO do e-mail
mailObj.Bcc= "
[email protected] "
'Defina o endereço de cópia carbono do e-mail
mailObj.Cc = "
[email protected] "
'Defina o assunto do e-mail
mailObj.Subject = "Assunto"
'Define o corpo do email
mailObj.Body = "Corpo do e-mail!"
'O e-mail é enviado em formato HTML
mailObj.BodyFormat = MailFormat.Html
'Defina o nível limitado de correspondência, defina-o como alto aqui
mailObj.Priority = MailPriority.High
'Anexar um anexo ao e-mail enviado
mailObj.Attachments.Add(Novo MailAttachment("c:aa.doc"))
smTp.Send(mailObj)
End Sub
3. Use System.Net.Sockets no desenvolvimento de aplicativos Windows em VB.NET ou C#
Também é baseado no protocolo SMTP 1. Introdução ao protocolo SMTP
1. O cliente estabelece uma conexão TCP/IP com o servidor através da porta 25 do servidor: 220 server.com Simple Mail Transfer Service Ready
2. O cliente usa o comando "HELO" para identificar o cliente remetente: HELO server.com
Lado do servidor: 250 server.com
3. O cliente envia um comando MAIL e o servidor responde com OK para indicar que está pronto para receber o cliente: MAIL FROM: <
[email protected] >
Lado do servidor: 250 OK
4. O cliente envia o comando RCPT para identificar o destinatário e o servidor responde se está disposto a aceitar o cliente de email para o destinatário: RCPT TO: <
[email protected] >
Lado do servidor: 250 OK
5. Após a conclusão da negociação, utilize o comando DATA para enviar o email ao cliente: DATA
Lado do servidor: 354 Iniciar entrada de correio: terminar com <CRLF>.<CRLF>
6. O cliente finaliza o conteúdo de entrada com . e envia para o cliente: Assunto: <CRLF>.
Conteúdo<CRLF>
.<CRLF>
7. O cliente sai usando o comando QUIT.
Cliente: SAIR
Lado do servidor: 250 canais de transmissão de fechamento do server.com
Vantagens
: Você pode desenvolver seus próprios componentes com base nisso. Usando Sockets, podemos desenvolver programação de rede.
Dim sendData como string
Dim szData como Byte()
Dim CRLF como string
CRLF = "rn"
'Crie uma conexão com a porta 25 do servidor
Dim SmtpServ como novo TcpClient(txtsmtp.Text, 25)
lstlog.Items.Clear()
'Exibe informações iniciais do servidor
Dim NetStrm como NetworkStream
NetStrm = SmtpServ.GetStream()
Dim RdStrm como novo StreamReader(SmtpServ.GetStream())
Se RdStrm.ReadLine() <> "" Então lstlog.Items.Add(RdStrm.ReadLine())
'
sendData = "servidor HELO" + CRLF
szData = System.Text.Encoding.ASCII.GetBytes(sendData.ToCharArray())
NetStrm.Write(szData, 0, szData.Length)
lstlog.Items.Add(RdStrm.ReadLine())
'Marcar remetente
sendData = "MAIL FROM: " + "<" + txtfrom.Text + ">" + CRLF
szData = System.Text.Encoding.ASCII.GetBytes(sendData.ToCharArray())
NetStrm.Write(szData, 0, szData.Length)
lstlog.Items.Add(RdStrm.ReadLine())
'Marcar destinatário
sendData = "RCPT PARA: " + "<" + txtTo.Text + ">" + CRLF
szData = System.Text.Encoding.ASCII.GetBytes(sendData.ToCharArray())
NetStrm.Write(szData, 0, szData.Length)
lstlog.Items.Add(RdStrm.ReadLine())
'Prepare para enviar conteúdo
enviarDados = "DADOS" + CRLF
szData = System.Text.Encoding.ASCII.GetBytes(sendData.ToCharArray())
NetStrm.Write(szData, 0, szData.Length)
lstlog.Items.Add(RdStrm.ReadLine())
'Enviar tópico
sendData = "ASSUNTO: " + txtsub.Text + CRLF
'Enviar conteúdo
sendData = sendData + txtmsg.Text + CRLF
'Finalizar envio
enviarDados = enviarDados + "." + CRLF
szData = System.Text.Encoding.ASCII.GetBytes(sendData.ToCharArray())
NetStrm.Write(szData, 0, szData.Length)
lstlog.Items.Add(RdStrm.ReadLine())
'Sair
enviarDados = "SAIR" + CRLF
szData = System.Text.Encoding.ASCII.GetBytes(sendData.ToCharArray())
NetStrm.Write(szData, 0, szData.Length)
lstlog.Items.Add(RdStrm.ReadLine())
'Fecha a conexão
NetStrm.Fechar()
RdStrm.Fechar()
lstlog.Items.Add("Conexão fechada")
lstlog.Items.Add("Enviado com sucesso")
Você também pode consultar: Usando C# para criar um componente de envio de e-mail (SMTP)
http://www.aspcool.com/lanmu/browse1.asp?ID=968&bbsuser=csharp 4. CDONTS, o componente básico de envio que vem com o IIS SMTP
Você não precisa baixá-lo especificamente. A Microsoft já forneceu esse componente. Desde que o 2000 esteja instalado, o SMTP do NT o terá.
Vantagens: Os componentes são fornecidos pelo sistema operacional Desvantagens: Funcionalidade deficiente e escalabilidade deficiente
Mymail = CreateObject("CDONTS.NewMail").
Mymail.From = *** 'Caixa postal do remetente da carta
Mymail.To = *** 'Caixa postal do destinatário da carta
Meumail.CC = *** 'Cc
Mymail.BCC = *** 'Vincular envio
Mymail.Subject = *** 'Assunto da carta
Mymail.Body = *** 'Corpo da carta
'Defina a prioridade, 0-não importante, 1-geral, 2-importante.
Meumail.Importância = 2
Meumail.Send()
Mymail = Nada
5. Use o componente JMail
Jmail possui as seguintes características:
(1) Anexos podem ser enviados;
(2) A capacidade de registro detalhado permite verificar o problema;
(3) Defina a prioridade de envio do email;
(4) Suporta envio de e-mails em vários formatos, como envio de e-mails em HTML ou TXT. Este é um componente gratuito.
(5) A capacidade de enviar e-mails cegos/cópias carbono/cartas urgentes;
(6) O mais importante é que os componentes são gratuitos e você não precisa pagar por eles, então vale muito a pena usá-los.
Site:
http://www.dimac.net/ , a versão atual é 4.3.
Atributos comuns dos componentes JMail:
Corpo Corpo do e-mail
Registro de chamadas Gravação de registro para uso de depuração
Prioridade A prioridade do e-mail, de 1 a 5
Remetente remetente
ServerAddress Endereço IP ou nome do servidor SMTP
Métodos comuns do
componente JMail do título do e-mail do assunto
:
AddAttachment especifica o arquivo anexo
AddRecipient adiciona um destinatário
AddRecipientBCC Cópia oculta, conhecida apenas pelo remetente e pelos destinatários CCO.
AdicionarRecipientCC CC
Após Execute enviar o email
e entender os atributos e métodos necessários, o restante recebe o email inserido pelo usuário e passa como parâmetro para o método AddRecipient, em seguida preenche os atributos restantes conforme necessário e, por fim, envia com o Execute. método. Por exemplo:
Dim JMail
JMail = Server.CreateObject("JMail.SMTPMail")
JMail.Logging = Verdadeiro
JMail.ServerAddress = "202.96.144.48"
JMail.Sender = "
[email protected] "
JMail.Subject = "assunto."
JMail.Body = "corpo."
JMail.AddRecipient("
[email protected] ")
JMail.AddAttachment("c:go.gif")
JMail.Prioridade = 3
JMail.Execute()
JMail = Nothing
resumo: Qual solução escolher depende da finalidade e das necessidades do programa. Este artigo fornece vários exemplos para sua referência. Por exemplo, o software UFIDA U8 chama o componente Outlook e o integra em seu próprio software. O sistema de gerenciamento que escrevi, escrevi meus próprios componentes (SMTP), é igualmente poderoso, mas o tempo de codificação é maior!