ENVIAR EMAIL VIA SMTP SO ENVIA PRA 1 EMAIL

ALEXANDREHKK 27/04/2010 09:13:56
#340330
Bom dia pessoal, criei um pequeno programinha pra enviar email via smtp, porém percebi que só consigo enviar pra apenas 1 email, quando eu digito mais de um email ele gera um erro, gostaria de poder enviar para mais de 1 email, também estou a procura de um tutorial pra criar um leitor de email, se alguem puder me indicar algo, utilizo o vb2008
Muito obrigado
Abaixo o código do projeto

[ô]botao enviar
[ô]essa variavel cria um pacote de mensagem
Dim mensagem As New MailMessage

[ô]definindo o que a variável receberá para criar o pacote de email
With mensagem
.To.Add(txtPara.Text) [ô]pra quem vai?
.From = New MailAddress(txtUsuario.Text)
.Subject = txtAssunto.Text
.Body = txtMensagem.Text
End With


[ô]laço para enviar anexos
Dim item As Integer
item = 0

Dim anexos As Integer
anexos = lsAnexo.Items.Count [ô]usado para contar a lista dos anexos

While anexos <> item
anexos -= 1 [ô]diminui a cada execução

mensagem.Attachments.Add(New Attachment(lsAnexo.Items(anexos).ToString))

End While


[ô]declarando o servidor smtp
Dim smtp As New SmtpClient
Dim credencial As New NetworkCredential(txtUsuario.Text, txtSenha.Text)

smtp.Credentials = credencial

smtp.Host = txtSmtp.Text

[ô]enviando
smtp.Send(mensagem)

MessageBox.Show([Ô]Mensagem enviada com sucesso[Ô], [Ô]Hydra Mail[Ô], MessageBoxButtons.OK, MessageBoxIcon.Asterisk)
GLAUCOMENDES 27/04/2010 11:02:40
#340348
Resposta escolhida
Olá, Bom dia a todos.

Bom sou novo aqui no forum, vou deixar minha contribuição.

Eu criei um módulo que utilizo em vários projetos para envio de emails, e da para enviar para multiplos destinatarios.


Imports System.Threading
Imports System.Net.Mail

Module emails
Public remetente, smtp, user, pass, assunto, mensagem As String, anexos, destinatarios As ArrayList
Public enviar As New Thread(AddressOf envio)

Private Sub envio()
Try
[ô]cria uma mensagem a enviar
Dim Mailmsg As New System.Net.Mail.MailMessage()

Mailmsg.From = New MailAddress(remetente)

If destinatarios.Count <> 0 Then
Dim i As Integer
For i = 0 To destinatarios.Count - 1
Mailmsg.To.Add(New MailAddress(destinatarios(i)))
Next
End If

Dim mSmtpCliente As New SmtpClient(smtp)
mSmtpCliente.EnableSsl = True
mSmtpCliente.Credentials = New Net.NetworkCredential(user, pass)

Mailmsg.IsBodyHtml = True

[ô]define o assunto
Mailmsg.Subject = assunto

[ô]Anexa os arquivos um por um
If anexos.Count <> 0 Then
Dim i As Integer
For i = 0 To anexos.Count - 1
Mailmsg.Attachments.Add(New Attachment(anexos(i)))
Next
End If

[ô]Corpo do EMail
Mailmsg.Body = mensagem

[ô]ENvia o email
mSmtpCliente.Send(Mailmsg)
MessageBox.Show([Ô]Mensagem enviada com sucesso[Ô], [Ô]E-Mail[Ô], MessageBoxButtons.OK, MessageBoxIcon.Information)
Catch ex As Exception
MessageBox.Show([Ô]Ocorreu um erro : [Ô] & vbCr & ex.Message, [Ô]Erro[Ô], MessageBoxButtons.OK, MessageBoxIcon.Error)
End Try
End Sub

End Module
ALEXANDREHKK 27/04/2010 12:24:27
#340354
exatamente o que eu precisava, obrigado :D
Tópico encerrado , respostas não são mais permitidas