Array
(
)

Enviar email asp.net com contas que requerem authenticação

Filipecrocks
   - 12 set 2007

Olá

Pessoal procurei em diversos lugares já e não encontrei como mandar emails usando um provedor de emails que requer autheticação como o google ou algum outro desses pagos

Até encontrei uns esquemas da microsoft para tentar usar mas não rolou

Alguém sabe de algum modo de fazer isso???

Obrigado a todos pela atenção

Abraço

Filipe

Mr. Mini-mite
   - 18 set 2007

Olá filipe...

Eu estava com problemas assim semana passada, se for o mesmo problema que eu tive é só adiciona a linha ´Smtp.EnableSsl = True´, deve ficar algo assim:

#Código
Dim Smtp As New SmtpClient ´cria o objeto SMTP
Smtp.Host = "smtp.gmail.com"
Smtp.Port = 587
Smtp.EnableSsl = True


Se o restante de seu código estiver correto, deve dar certo agora.

Boa sorte, e não se esqueça de postar o resultado.

Filipecrocks
   - 28 set 2007

Tentei com esse codigo e não funcionou

Da uma olhada no codigo que estou usando

try
{
SmtpClient client = new SmtpClient(´smtp.gmail.com´);
client.UseDefaultCredentials = false;
client.Port = 465;
client.EnableSsl = true;
client.Credentials = new System.Net.NetworkCredential(´xxxxx@gmail.com´, ´xxx´);
client.DeliveryMethod = SmtpDeliveryMethod.Network;

MailMessage mail = new MailMessage();
MailAddress fromAddress = new MailAddress(txtEmail.Text, txtName.Text);
mail.From = fromAddress;
mail.To.Add(´filipexxx@xxxx.com´);
mail.Subject= ´Cadastro ´;
mail.Body = ´Cadastro efetuado em: ´ + DateTime.Now + ´
´ +
´Nome: ´ + txtName.Text + ´
´ +
´Cidade: ´ + txtCidade.Text + ´
´ +
´Email: ´ + txtEmail.Text + ´
´ +
´Mensagem: ´ + txtMessage.Text + ´
´;

mail.IsBodyHtml = true;

client.Send(mail);
}
catch (Exception ex)
{
lblStatus.Text = ´Falha no envio.
´ + ex.Message;
}
finally
{
Panel1.Visible = false;
Panel2.Visible = true;
lblOK.Text = ´Cadastro enviado com sucesso!!!´;
}

Estou tentando achar essa solução porque não consigo fazer esse form de cadastro com emais que requerem autenticação de segurança

Ja tentei até baixar uns componentes para conseguir isso e nada

Tentei também com...
mail.Fields.Add(´http://schemas.microsoft.com/cdo/configuration/smtpauthenticate´, ´1´);//basic authentication
mail.Fields.Add(´http://schemas.microsoft.com/cdo/configuration/sendusername´, ´my_username_here´); //set your username here
mail.Fields.Add(´http://schemas.microsoft.com/cdo/configuration/sendpassword´, ´super_secret´);//set your password here

Mas também não vai

Obrigado pela atenção ae brother
Se resolvermos esse problema vamos postar em varios lugares que tem muitas pessoas com o mesmo..heh

Abraço

Filipe

Mr. Mini-mite
   - 01 out 2007

Bom, não tentei testar seu código, mas vou te passar o meu, tah em vb, mas já ajuda:
#CódigoProtected Sub disparaEmail()
Dim objMailMessage As New MailMessage
With objMailMessage
.To.Add("email_de_destino@msn.com")
´.CC.Add("teste1@gmail.com")
´.Bcc.Add("teste2@gmail.com")
.From = New MailAddress("usuario@gmail.com")
.Subject = "Teste de envio de e-mail"
.Body = "Parabéns, sua página aspx envia e-mails"
.Priority = MailPriority.High
.IsBodyHtml = True
.DeliveryNotificationOptions = DeliveryNotificationOptions.Never
End With
´Se quiser anexar um arquivo:
´Dim arquivo As New System.Net.Mail.Attachment("c:\fatura.txt")
´objMailMessage.Attachments.Add(arquivo)
´Indicar o servidor de SMTP para envio de e-mail:
Dim Smtp As New SmtpClient ´cria o objeto SMTP
Smtp.Host = "smtp.gmail.com"
Smtp.Port = 587 ´465 ´587 ´25
Smtp.EnableSsl = True
Try
´Envia o email:
Smtp.Send(objMailMessage)
´Mostra um alerta ao usuário de que o e-mail foi enviado com sucesso:
Dim script As String = "<script>alert(‘Enviado com sucesso!´);</script>"
ClientScript.RegisterClientScriptBlock(Me.GetType, "clientScript", script)
Catch ex As Exception
´Mostra um alerta ao usuário de que o e-mail NÃO foi enviado:
Dim script As String = "<script>alert(‘Erro ao enviar o e-mail!´);</script>"
ClientScript.RegisterClientScriptBlock(Me.GetType, "clientScript", script)
End Try
End Sub

E no web.config vc adiciona essas linhas:
#Código<configuration>
<system.net>
<mailSettings>
<smtp>
<network host="smtp.gmailcom" port="587" userName="usuario)" password="senha"/>
</smtp>
</mailSettings>
</system.net>
<appSettings/>
<connectionStrings/>
<system.web>

É só vc preencher seus dados nessas linhas,
To.Add(´email_de_destino@msn.com´)
New MailAddress(´usuario@gmail.com´)
password=´senha´
userName=´usuario´
e ve se funciona, aí vc traduz pra C#, deve dar certo.
Boa sorte...