ENVIO DE EMAIL
Ola, sei que estive sumido, estudando algumas áreas, estou a desenvolver um prototipo de um sistema que envia relatório CFe, (Cupom fiscal), só que já tentei de tudo, pesquisei no google, youtube, AI (Inteligencia Artificial), mas não consegui resolver o problema.
Segue abaixo o codigo
Imports System.Net.Mail
Imports System.IO
Public Class frmNetscaleMail
Private Sub btnEnviar_Click(sender As Object, e As EventArgs) Handles btnEnviar.Click
' Criar um novo objeto MailMessage
Dim message As New MailMessage()
' Definir o remetente
message.From = New MailAddress(txtRemetente.Text)
' Definir o destinatário
message.To.Add(New MailAddress(txtDestinatario.Text))
' Definir o assunto
message.Subject = txtAssunto.Text
' Definir o corpo
message.Body = txtCorpo.Text
' Enviar o e-mail assíncrono
Dim task As Task = message.SendAsync()
' Verificar o status da operação de envio de e-mail
If task.IsCompleted Then
' O e-mail foi enviado com sucesso
Else
' O e-mail não foi enviado
End If
End Sub
End Class
E o erro que esta dando é esse:
Gravidade Código Descrição Projeto Arquivo Linha Estado de Supressão
Erro BC30456 "SendAsync" não é um membro de "MailMessage".
Segue abaixo o codigo
Imports System.Net.Mail
Imports System.IO
Public Class frmNetscaleMail
Private Sub btnEnviar_Click(sender As Object, e As EventArgs) Handles btnEnviar.Click
' Criar um novo objeto MailMessage
Dim message As New MailMessage()
' Definir o remetente
message.From = New MailAddress(txtRemetente.Text)
' Definir o destinatário
message.To.Add(New MailAddress(txtDestinatario.Text))
' Definir o assunto
message.Subject = txtAssunto.Text
' Definir o corpo
message.Body = txtCorpo.Text
' Enviar o e-mail assíncrono
Dim task As Task = message.SendAsync()
' Verificar o status da operação de envio de e-mail
If task.IsCompleted Then
' O e-mail foi enviado com sucesso
Else
' O e-mail não foi enviado
End If
End Sub
End Class
E o erro que esta dando é esse:
Gravidade Código Descrição Projeto Arquivo Linha Estado de Supressão
Erro BC30456 "SendAsync" não é um membro de "MailMessage".
Se alguém puder dar uma força no que posso melhorar o código
SmtpClient client = new SmtpClient(Host, Porta);
client.EnableSsl = false;
client.Credentials = new System.Net.NetworkCredential(User, Senha);
MailMessage mail = new MailMessage();
mail.Sender = new System.Net.Mail.MailAddress(User);
mail.From = new MailAddress(User);
mail.To.Add(new MailAddress("destino@destino.com.br"));
mail.Subject = "Email Teste";
mail.Body = "Teste de e-mail";
mail.IsBodyHtml = true;
mail.Priority = MailPriority.Normal;
client.Send(mail);
MOUSER, o código de associação ao server, user e respectiva pass!?
NIKYTS, a ideia é deixar o código mais simples possivel. Até tentei usar uma IA para testar o código, mas vou tentar fazer da forma como 3SLUIS postou e comparar com o codigo que fiz.
Envio de E-mail é tão rápido que não vejo a necessidade de ser assíncrono, utilizo a muitos anos e nunca tive problemas. Posso postar aqui se quiser da forma que utilizo.
Imports System.Net
Imports System.Net.Mail
Private Sub EnviarEmail(ByVal destinatario As String, ByVal assunto As String, ByVal corpo As String)
Try
Dim remetente As New MailAddress("seu_email@gmail.com", "Seu Nome")
Dim destinatarioEmail As New MailAddress(destinatario)
Dim mensagem As New MailMessage(remetente, destinatarioEmail)
mensagem.Subject = assunto
mensagem.Body = corpo
Dim clienteSmtp As New SmtpClient("smtp.gmail.com", 587) ' Ou utilize outro servidor SMTP
clienteSmtp.EnableSsl = True
clienteSmtp.UseDefaultCredentials = False
clienteSmtp.Credentials = New NetworkCredential("seu_email@gmail.com", "sua_senha")
clienteSmtp.Send(mensagem)
MessageBox.Show("E-mail enviado com sucesso!", "Sucesso", MessageBoxButtons.OK, MessageBoxIcon.Information)
Catch ex As Exception
MessageBox.Show("Ocorreu um erro ao enviar o e-mail: " & ex.Message, "Erro", MessageBoxButtons.OK, MessageBoxIcon.Error)
End Try
End Sub
Private Sub btnEnviarEmail_Click(sender As Object, e As EventArgs) Handles btnEnviarEmail.Click
Dim destinatario As String = txtDestinatario.Text
Dim assunto As String = txtAssunto.Text
Dim corpo As String = txtCorpo.Text
EnviarEmail(destinatario, assunto, corpo)
End Sub
Imports System.Net.Mail
Private Sub EnviarEmail(ByVal destinatario As String, ByVal assunto As String, ByVal corpo As String)
Try
Dim remetente As New MailAddress("seu_email@gmail.com", "Seu Nome")
Dim destinatarioEmail As New MailAddress(destinatario)
Dim mensagem As New MailMessage(remetente, destinatarioEmail)
mensagem.Subject = assunto
mensagem.Body = corpo
Dim clienteSmtp As New SmtpClient("smtp.gmail.com", 587) ' Ou utilize outro servidor SMTP
clienteSmtp.EnableSsl = True
clienteSmtp.UseDefaultCredentials = False
clienteSmtp.Credentials = New NetworkCredential("seu_email@gmail.com", "sua_senha")
clienteSmtp.Send(mensagem)
MessageBox.Show("E-mail enviado com sucesso!", "Sucesso", MessageBoxButtons.OK, MessageBoxIcon.Information)
Catch ex As Exception
MessageBox.Show("Ocorreu um erro ao enviar o e-mail: " & ex.Message, "Erro", MessageBoxButtons.OK, MessageBoxIcon.Error)
End Try
End Sub
Private Sub btnEnviarEmail_Click(sender As Object, e As EventArgs) Handles btnEnviarEmail.Click
Dim destinatario As String = txtDestinatario.Text
Dim assunto As String = txtAssunto.Text
Dim corpo As String = txtCorpo.Text
EnviarEmail(destinatario, assunto, corpo)
End Sub
Faça seu login para responder