• Revista PROGRAMAR: Já está disponível a edição #53 da revista programar. Faz já o download aqui!

bigboy123

Inserir vários provedores de e-mail

20 mensagens neste tópico

Aqui estou eu depois da dúvida colocada no tópico "Validação de Caracter".

Depois da grande ajuda fornecida pelos excelentes moderadores do forum foi resolvida !

Agora o que eu quero fazer é o seguinte: Quero que o programa que estou a realizar não dê apenas para o GMAIL, também quero que funcione com yahoo, AIM ou HOTMAIL (que é uma grande complicação!) o meu objectivo principal era mesmo conseguir para a hotmail.

Para eu conseguir fazer isto vou meter uma checkbox para cada Cliente de mail.

A que for seleccionada é a que irá proceder com o envio do e-mail para o respectivo provedor seleccionado na checkbox, para isto parecer menos confuso deixo aqui um printscreen do projecto  :confused:

enviadordeemail.th.jpg

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Tenta fazer com radio button depois no evento click de cada um alteras entao a validaçao que vai ser feita, porque com checkbox podes seleccionar mais que uma e isso vai criar conflitos

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Isso é relativo.

Posso fazer com que apenas seja seleccionada uma checkbox, não à problema nesse aspecto.

Agora quero é saber como fazer o que eu quero no 1º Post

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Isso é relativo.

Posso fazer com que apenas seja seleccionada uma checkbox, não à problema nesse aspecto.

Agora quero é saber como fazer o que eu quero no 1º Post

Entao penso que podes usar a função click, ao clicares numa checkbox ele selecciona e muda os parametros de validaçao, ou se tens a validação a ser feita apenas quando clicas num botao, pode fazer por ifs

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Podes obter essa informação junto das respectivas páginas de serviço:

AOL - http://about.aol.com/faq/openmailaccess#othermail

Outros - http://www.emailaddressmanager.com/tips/mail-settings.html

Quanto às checkboxes, o melhor mesmo era usares radio buttons, eles foram criados especificamente para esse efeito, para além de que com checkboxes podes ter de andar com mais código atrás para verificar se as outras estão seleccionadas, etc.

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Ok então irei mudar de checkbox para radio.

Softclean obrigado pelos links ajudaram bastante  :confused:

Mas uma dúvida ainda persiste ! Como enviar para a HOTMAIL !

Pelo que li no link fornecido pelo softclean a hotmail so usa o HTTP e não poderá ser feito em SMTP ou POP3.

Alguém que me possa dar um tutorial de como fazer em HTTP para hotmail ?  :dontgetit:

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Estive a ver as configurações que tenho para o meu cliente de email, e o Hotmail usa TLS como protocolo de cifra (em vez de SSL).

Estive a procurar por enviar mails com o protocol TLS, mas para .Net não encontrei nada, pelo menos gratuito:

http://www.google.pt/search?hl=pt-PT&q=vb.net+smtp+tls&btnG=Pesquisar&meta=

Por isso, acho que hotmail só mesmo adquirindo um controlo dê o suporte TLS à tua aplicação, da .net framework não deve ter de raiz...

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Isso é tudo código, ainda por cima separado em classes, praticamente é só copiar os ficheiros. Mas, não sei se viste na data, é de 2003, por isso as garantias que isso funciona (não tenho a certeza se o suporte webdav funcionará).

Mas se quiseres tentar, copias os ficheiros EntryPoint.vb, MailClient.vb e MailItem.vb. Depois, na pasta bin, tens de ir buscar o dll e criar uma referência para ele (Project > References > Add reference > separador "browse" e procurar o ficheiro 'Interop.MSXML2.dll').

Por fim, deve ser só instanciar a classe MailClient (Dim wtv as new MailClient()), e chamar o método 'SendMail()' com os parâmetros convenientes.

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

explica lá bem, tu queres enviar um mail usando uma conta hotmail???

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Para o Hotmail, pelo que já pesquisei penso que eles não utilizem SMTP mas sim HTTP.

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

se for o que eu tou a pensar é bem facil!

Se o que tu queres é mandar mail's usando uma conta hotmail então:

Imports System.Net.Mail
Public Class Form1

    Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load

        Dim Message As New MailMessage()

        Message.From = New MailAddress("oteumail@hotmail.com")
        Message.To.Add("mailparaondequeresmandaracena@qualquercena.com")
        Message.Subject = "Teste"
        Message.Body = "Teste"

        Dim client As New SmtpClient("smtp.live.com")

        client.Credentials = New Net.NetworkCredential("oteumail@hotmail.com", "atuapass") 
        client.EnableSsl = True 
        client.Port = 587 ' Porta SSL
        client.Timeout = 20000

        client.Send(Message)
    End Sub
End Class

testei agora e funciona...

EDIT:

Não sei se é isto que queres mas se não for... pronto... fica registado

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Ok debliu, realmente funciona mas não completamente !

Se eu mandar um e-mail pela conta @hotmail.com ele realmente envia.

Mas no caso da minha que é mais velha sendo @msn.com ele não funciona  :confused:

De qualquer maneira já foi uma grande ajuda.  :P

Se funcionasse também para @msn.com onde ainda existem bastantes contactos, seria nice  :thumbsup:

Se não der também não faz mal  ;)

De qualuer maneira aceito sugestões como sempre  :biggrin:

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

nao tenho como testar.... xD

já vi algures se usar ("smtp.email.msn.com") dava ou seja:

em vez disto:

Dim client As New SmtpClient("smtp.live.com")

pões isto:

Dim client As New SmtpClient("smtp.email.msn.com")

mas não sei... exprimenta

EDIT: ESQUEÇE POR SMTP, A @msn.com NÃO TEM... SÓ POR HTTP

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Tenho este código a funcionar para a Sapo, como podem constatar.

Dim SmtpServer As New SmtpClient
        Dim MailFrom, MailTo, MailBody, MailSubject As String
        MailFrom = TextBox2.Text
        MailSubject = ComboBox1.SelectedItem
        MailBody = TextBox1.Text
        MailTo = "email"
        Dim Authentication As New Net.NetworkCredential("email", "password")
        SmtpServer.Host = "smtp.sapo.pt"
        SmtpServer.Send(MailFrom, MailTo, MailSubject, MailBody)
        MsgBox("Enviado")

Contudo queria por a funcionar para o Gmail, e funciona com estas linhas de código abaixo:

        SmtpServer.Port = 587
        SmtpServer.UseDefaultCredentials = False
        SmtpServer.Credentials = Authentication
        SmtpServer.EnableSsl = True

Mas funciona com erros, ou seja, recebo os emails com mensagens de erros ou então recebo com estes detalhes:

De: Mail1@gmail.com

Para: Mail1@gmail.com

e deveria receber como:

De: TextBox2.text (O que estiver lá digitado, como podem ver no código em cima)

Para: Mail1@gmail.com

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Tenho este código a funcionar para a Sapo, como podem constatar.

Dim SmtpServer As New SmtpClient
        Dim MailFrom, MailTo, MailBody, MailSubject As String
        MailFrom = TextBox2.Text
        MailSubject = ComboBox1.SelectedItem
        MailBody = TextBox1.Text
        MailTo = "email"
        Dim Authentication As New Net.NetworkCredential("email", "password")
        SmtpServer.Host = "smtp.sapo.pt"
        SmtpServer.Send(MailFrom, MailTo, MailSubject, MailBody)
        MsgBox("Enviado")

Contudo queria por a funcionar para o Gmail, e funciona com estas linhas de código abaixo:

        SmtpServer.Port = 587
        SmtpServer.UseDefaultCredentials = False
        SmtpServer.Credentials = Authentication
        SmtpServer.EnableSsl = True

Mas funciona com erros, ou seja, recebo os emails com mensagens de erros ou então recebo com estes detalhes:

De: Mail1@gmail.com

Para: Mail1@gmail.com

e deveria receber como:

De: TextBox2.text (O que estiver lá digitado, como podem ver no código em cima)

Para: Mail1@gmail.com

para gmail é como o primeiro que pus neste tópico, só que usas smpt.gmail.com

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Debliu deixa lá isso então xD

Bioshock tás a fazer ai coisas mal e desnecessárias experimenta o seguinte

            Dim Smtp As New SmtpClient
            Dim mail As New MailMessage

            Smtp.Credentials = New Net.NetworkCredential(Txtde.Text, Txtdepasse.Text)
            Smtp.Port = 587
            Smtp.Host = "smtp.gmail.com"
            Smtp.EnableSsl = True
            mail.From = New MailAddress(Txtde.Text)
            mail.To.Add(txtpara.Text)
            mail.Subject = txtassunto.Text
            mail.Body = txtmensagem.Text
            Smtp.Send(mail)

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Com a difusão que Hotmail tem, é natural que se defendam.

Não é qualquer servidor de emails que está autorizado a enviar emails para as contas Hotmail.

Por outro lado, se utilizarem uma autenticação hotmail já não deviam ter problemas, como o debliu sugeriu.

Existe um servidor de email bem velhinho e bem conhecido da malta que anda nisto, como o servidor do ícone da granada. Podes fazer download daqui.

Não precisa de credenciais, e no cliente smtp defines o host como o localhost (127.0.0.1).

Já não o uso faz algum tempo e não te sei dizer se com os novos acessos às contas hotmail (Live) o gajo funciona.

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

ribeiro55 realmente já está um bocado velhinho de mais coitado xD

Mas de qualquer maneira as minhas dúvidas foram resolvidas  :P

Irei dar o tópico como solved

Obrigado a todos os que me ajudaram ou tentaram  :thumbsup:

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Crie uma conta ou ligue-se para comentar

Só membros podem comentar

Criar nova conta

Registe para ter uma conta na nossa comunidade. É fácil!


Registar nova conta

Entra

Já tem conta? Inicie sessão aqui.


Entrar Agora