Envio email asp.net framework 2.0

douradex

Power Member
Bem já ando às voltas com esta questão. Bolas!

percorri esta zona do forúm e não encontrei nada parecido, por isso faço este post.

Já forma utilizados imensos objectos de envio de email, já forma alteradas as configurações no IIS. Enfim um sem fim de situações que já não sei por onde ir.

Estou a tentar enviar um e-mail (um simples e-mail, que em asp, em asp.net framework 1.1 faço às carradas...) e vai ser dar a um situação de erro.

Não sei se é a configuração relativamente ao servidor de e-mail, se é alguma falha no código. Algo que pode estar mal na configuração do serviço SMTP.

Deixo aqui o código que estou a utilizar. Se alguém tiver uma sugestão agradecia a ajuda.

------------------------------------------------------Código Utilizado ------------------------------------
namespce utilizados

<%@ Import Namespace="System.Net.Mail"%>
<%@ Import Namespace="System.Net.Mail.SmtpClient"%>


Dim objEmail As New System.Net.Mail.MailMessage()

'remetente do e-mail
objEmail.From = New MailAddress("[email protected]")

'destinatários do e-mail
objEmail.To.Add("[email protected]")
objEmail.To.Add(LblEmail.Text)

'título do e-mail
objEmail.Subject = "Teste"

'prioridade do e-mail
objEmail.Priority = System.Net.Mail.MailPriority.Normal

'formato do e-mail HTML (caso não queira HTML alocar valor false)
objEmail.IsBodyHtml = True



'corpo do e-mail
objEmail.Body = "texto"

' Para evitar problemas de caracteres "estranhos", configuramos o charset para "ISO-8859-1"
objEmail.SubjectEncoding = System.Text.Encoding.GetEncoding("ISO-8859-1")
objEmail.BodyEncoding = System.Text.Encoding.GetEncoding("ISO-8859-1")

'cria objeto com os dados do SMTP
Dim objSmtp As New SmtpClient("servidor de e-mail")

'alocamos o endereço do host para enviar os e-mails
objSmtp.Host = "servidor de e-mail"


Dim instance As SmtpPermission

instance.AddPermission(objSmtp)

'enviamos o e-mail através do método .Send()

objSmtp.DeliveryMethod = SmtpDeliveryMethod.Network
objSmtp.Credentials = New System.Net.NetworkCredential("username", "pasword")
objSmtp.UseDefaultCredentials = True

Try
objSmtp.Send(objEmail)
Response.Write("E-mail enviado com sucesso !")
Catch ex As Exception
Response.Write("Ocorreram problemas no envio do e-mail. Error = " & ex.Message)
End Try

excluímos o objeto de e-mail da memória
objEmail.Dispose()


---------------------------- Fim código utilizado ----------------------------------

Bem vai sempre parar à frase: Ocorreram problemas no envio do e-mail. Error = " & ex.Message
 
Enviar mail C#

em C# com este codigo envias mail na boa ;) em VB é só alterar :x2:
Código:
[SIZE=2]using System.Net.Mail;[/SIZE]

Código:
[SIZE=2]SmtpClient smtpClient = new SmtpClient();[/SIZE]
[SIZE=2]MailMessage message = new MailMessage();[/SIZE]
[SIZE=2]try[/SIZE]
[SIZE=2]{[/SIZE]
[SIZE=2]MailAddress fromAddress = new MailAddress("[email protected]");[/SIZE]
[SIZE=2]smtpClient.Host = "servidorsmtp.host.pt";[/SIZE]
[SIZE=2]smtpClient.Port = 25;[/SIZE]
 
[SIZE=2]message.From = "email";[/SIZE]
[SIZE=2]message.To.Add("destino");[/SIZE]
[SIZE=2]message.Subject = "assunto";[/SIZE]
 
[SIZE=2]message.IsBodyHtml = true; // ou false[/SIZE]
[SIZE=2]message.Body = "conteudo do mail";[/SIZE]
[SIZE=2]smtpClient.Send(message);[/SIZE]
[SIZE=2]}[/SIZE]
[SIZE=2]catch (Exception ex)[/SIZE]
[SIZE=2]{[/SIZE]
[SIZE=2]Response.Write(ex.Message);[/SIZE]
[SIZE=2]}[/SIZE]
 
obrigado. Mas ainda...

Obrigado pelo código.Olha não resolvi ainda. Não sei se é alguma configuração mal feita no SMTP.Estou a tentar enviar e-mails duma máquina com o windows server 2003 e asp.net framework 2.0.Dá sempre a mensagem de erro ao enviar. Se tiveres por aí uma ideia de como possa corrigir o erro... Já li mil páginas entre ontem e hoje. Já alterei configurações e nada...
 
A solução mais simpes e verdadeiramente eficaz é tu instalares o IIS na tua maquina e instalares o servidor SMTP virtual do mesmo. Assim desta forma evitas os transtornos de configuração do SMTP e ficas com uma solução que te resolve todos os teus problemas, pois o problema é mesmo a configuração do SMTP.

Procura no google "send mail by iis" e é só veres como se faz a configuração, 4 ou 5 simples passos :D
 
A solução mais simpes e verdadeiramente eficaz é tu instalares o IIS na tua maquina e instalares o servidor SMTP virtual do mesmo. Assim desta forma evitas os transtornos de configuração do SMTP e ficas com uma solução que te resolve todos os teus problemas, pois o problema é mesmo a configuração do SMTP.

Procura no google "send mail by iis" e é só veres como se faz a configuração, 4 ou 5 simples passos :D

Caso depois ele envie para um servidor, simplesmente não funciona. Qualquer servidor requer autenticação no email.
 
Obrigado pelo código.Olha não resolvi ainda. Não sei se é alguma configuração mal feita no SMTP.Estou a tentar enviar e-mails duma máquina com o windows server 2003 e asp.net framework 2.0.Dá sempre a mensagem de erro ao enviar. Se tiveres por aí uma ideia de como possa corrigir o erro... Já li mil páginas entre ontem e hoje. Já alterei configurações e nada...

Ora bem, eu ja tive um problema do género do teu e o que fiz foi ir á configuração do projecto e fiz a configuração do SMTP ;)

Eu uso o VS2005, no teu projecto fazes isto:

aspcg1.jpg


Depois configuras o SMTP de acordo com o teu servidor. Não é necessário teres o teu projecto no IIS, esta é uma das vantagens do VS2005/framework 2.0 ;)
 
Última edição:
Back
Topo