59 messaggi dal 21 luglio 2006
Ho scritto il codice sottostante con VB in visual studio 2017 per l'invio di mail, ma non capisco perchè con l'Host di posta in uscita di tiscali(smtp.tiscali.it) non funziona dovè sbaglio?
Public Sub InviaMail()
        Dim richiedeAutenticazione As Boolean = True
        Dim richiedeConnessioneProtetta As Boolean = True
        Dim smtpHost As String = “smtp.tiscali.it”
        Dim smtpPort As Integer = 465 '25 default, 465 or 587 for what your provider wants..
        Dim username As String = TextBox2.Text
        Dim password As String = TextBox3.Text
        Dim allegato As String = “c:\allegato.docx”
        Dim EmailMittente As String = TextBox1.Text
        Dim NomeMittente As String = “Giorgio”
        Dim Oggetto As String = TextBox4.Text
        Dim Corpomail As String = TextBox6.Text
        Dim Destinatario As String = TextBox5.Text
        Dim MailConfermaLettura As Boolean = True
        Dim MailConfermaRecapito As Boolean = True
        Dim invioAsincrono As Boolean = True

        Dim smtp As New SmtpClient(“smtp.tiscali.it”)
        'smtp = New SmtpClient

        Dim mail As New MailMessage
        'mail = New MailMessage

        Try

            If richiedeAutenticazione Then
                smtp.UseDefaultCredentials = False
                smtp.Credentials = New Net.NetworkCredential(username, password)
            Else
                smtp.UseDefaultCredentials = True
                smtp.Credentials = Net.CredentialCache.DefaultNetworkCredentials
            End If
            smtp.EnableSsl = If(richiedeConnessioneProtetta, True, False)
            smtp.Host = smtpHost
            smtp.Port = smtpPort

            If String.IsNullOrEmpty(allegato) = False And IO.File.Exists(allegato) Then
                mail.Attachments.Add(New Attachment(allegato))
            End If

            'INDIRIZZI
            'mittente
            mail.From = New MailAddress(EmailMittente, NomeMittente)
            mail.Sender = New Net.Mail.MailAddress(EmailMittente, NomeMittente)
            'destinatari
            mail.To.Add(New Net.Mail.MailAddress(Destinatario, “giorgio Scintu”))
                       
            mail.ReplyToList.Add(New Net.Mail.MailAddress(EmailMittente, NomeMittente))

            mail.Subject = Oggetto
            mail.SubjectEncoding = System.Text.Encoding.UTF8

            mail.Body = Corpomail
            mail.BodyEncoding = System.Text.Encoding.UTF8
            mail.IsBodyHtml = True

            'CONFERMA LETTURA
            If MailConfermaLettura = True Then
                mail.Headers.Add(“Disposition-Notification-To”, EmailMittente)
            End If

            'CONFERMA RECAPITO
            If MailConfermaRecapito = True Then
                mail.Headers.Add(“Return-Receipt-To”, EmailMittente)
                mail.DeliveryNotificationOptions = DeliveryNotificationOptions.OnFailure Or DeliveryNotificationOptions.OnSuccess
            End If

            mail.Priority = Net.Mail.MailPriority.High

          
                smtp.Send(mail)
                
    End Sub

Giorgio
Premesso che non so dove possa essere l'errore, ti posto la routine che uso su Aruba e che funziona
da diversi anni.

---

'Questi sono campi di una form e dei campi della session creati in precedenza. Lo scopo della mail e' richiedere la password per accedere a parti protette del sito.


Dim wCampo As String
wCampo = "Cognome : " & Me.txtCognome.Text & vbCrLf
wCampo = wCampo & "Nome : " & Me.txtNome.Text & vbCrLf
wCampo = wCampo & "Email : " & Me.txtMail.Text & vbCrLf
wCampo = wCampo & "Categoria : " & Session("Cat") & vbCrLf
wCampo = wCampo & "SottoCategoria : " & Session("Sc") & vbCrLf
wCampo = wCampo & "Sub Categoria : " & Session("Sub") & vbCrLf




Dim MailServerName As String = "smtp.tuoServerDiPosta" <-------- devi mettere il tuo server

Dim Message As System.Net.Mail.MailMessage = New System.Net.Mail.MailMessage("Indirizzo Mittente", "Indirizzo Destinatario", "Oggetto", wCampo) <---- inserire gli indirizzi del mittente e destinatario

Dim MailClient As System.Net.Mail.SmtpClient = New System.Net.Mail.SmtpClient

MailClient.Host = MailServerName

'MailClient.UseDefaultCredentials = True
MailClient.Send(Message)
Message.Dispose()

If Err.Number = 0 Then
Me.txtMsg.Text = "Richiesta Inviata"
Else
Me.txtMsg.Text = Err.Description
End If
-----------

Ovviamente questo e' piu' semplice di quello che hai scritto tu. Puoi vedere se funziona poi implementa le parti mancanti una alla volta per vedere quale non funziona. Eventualmente posta anche i messaggi di errore (se ce ne sono).

Ciao

Alberto
59 messaggi dal 21 luglio 2006
Ciao Alberto,
ho provato il tuo codice, ma purtroppo non funziona:
Private Sub Button3_Click(sender As Object, e As EventArgs) Handles Button3.Click
        Dim MailServerName As String = &#8220;smtp.tiscali.it&#8221;
        Dim EmailMittente As String = TextBox1.Text
        Dim Oggetto As String = TextBox4.Text
        Dim Corpomail As String = TextBox6.Text
        Dim Destinatario As String = TextBox5.Text

        Dim Message As System.Net.Mail.MailMessage = New System.Net.Mail.MailMessage(EmailMittente, Destinatario, Oggetto, Corpomail)

        Dim MailClient As SmtpClient = New System.Net.Mail.SmtpClient With {
            .Host = MailServerName
        }

        'MailClient.UseDefaultCredentials = True
        MailClient.Send(Message)
        Message.Dispose()

        If Err.Number = 0 Then
            MsgBox(&#8220;Richiesta Inviata&#8221;, MsgBoxStyle.Information, &#8220;Attenzione&#8221;)
        Else
            MsgBox(Err.Description, MsgBoxStyle.Exclamation, &#8220;Attenzione&#8221;)
        End If
    End Sub


e segnala il seguente errore:

"Eccezione interna 1:
WebException: Impossibile effettuare la connessione al server remoto.

Eccezione interna 2:
SocketException: Impossibile stabilire la connessione. Risposta non corretta della parte connessa dopo l'intervallo di tempo oppure mancata risposta dall'host collegato 213.205.33.13:25"


l'Host di posta in uscita di tiscali richiede l'autenticazione e la connessione protetta, pertanto il tuo codice non può funzionare. Nel mio codice è stata impostata l'autenticazione (con l'inserimento del nome utente e password) e la connessione protetta, ma purtroppo per tiscali non funziona e non capisco il motivo. L'ho provato con alice e gmail è funziona.
Hai provato il tuo codice con l'host di posta in uscita di tiscali?
Grazie
Giorgio

Giorgio
277 messaggi dal 20 maggio 2001
Non ho mai utilizzato Tiscali, ma su server Aruba, con le seguenti impostazioni, non ho mai riscontrato criticità o difficoltà nell'invio:

                    MailMessage message = new MailMessage();
                    message.To.Add("destinatario@dominio.com");
                    message.From = new System.Net.Mail.MailAddress("mittente@dominio.com");
                    message.Subject ="Oggetto messaggio" ;



                    //message.Attachments.Add(new System.Net.Mail.Attachment(Server.MapPath("Allegato.pdf")));
                    SmtpClient smtp = new SmtpClient("localhost");
                    message.IsBodyHtml = true;
                    smtp.Send(message);
Mi spiace, ma non ho molte idee. Il mio server e' su Aruba, e non ho mai avuto rapporti con Tiscali. Quindi non ho mai avuto occasione di provarlo.

Ho quasi l'impressione, dal primo messaggio di errore che viene segnalato, che non trovi il server SMTP.TISCALI.IT, ma ripeto e' solo una mia illazione

Ciao

Alberto

Torna al forum | Feed RSS

ASPItalia.com non è responsabile per il contenuto dei messaggi presenti su questo servizio, non avendo nessun controllo sui messaggi postati nei propri forum, che rappresentano l'espressione del pensiero degli autori.