1. Este site usa cookies. Ao continuar a usar este site está a concordar com o nosso uso de cookies. Saber Mais.

Envio email asp.net framework 2.0

Discussão em 'Web Development' iniciada por douradex, 10 de Março de 2007. (Respostas: 6; Visualizações: 2881)

  1. douradex

    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
     
  2. 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]
    
     
  3. douradex

    douradex Power Member

    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...
     
  4. jatbas

    jatbas Power Member

    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
     
  5. RicardoMoreira

    RicardoMoreira Power Member

    Caso depois ele envie para um servidor, simplesmente não funciona. Qualquer servidor requer autenticação no email.
     
  6. para enviar nem sempre. para receber é obvio que sim!
     
  7. 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:

    [​IMG]

    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: 18 de Março de 2007

Partilhar esta Página