Buonasera a tutti, ho da pochi giorni acquistato uno spazio web+DB SQL Server da Aruba. Una parte del codice si occupa dell’invio di e-mail. Per far questo ho provato inizialmente ad utilizzare System.Net.Mail e i tentativi sono andati a buon fine ma solamente utilizzando per l’SMTPS al posto della porta 465, indicata nelle guide di Aruba, la porta 587.
Volendo passare ora ad un invio asincrono sono sorti altri problemi che non riesco a risolvere. Ho installato tramite NuGet MailKit e, modificato il codice per poterlo utilizzare, riesco ad inviare in LocalHost e-mail in modalità asincrona utilizzando questa volta la porta 465.
Nel momento in cui trasferisco il codice sul server di Aruba, pur non segnalando errori, le e-mail non vengono inviate e non sono in grado di simulare il problema localmente per cercarne una soluzione.
Chiedo a voi consigli su come procedere. Grazie!
Fornisco di seguito codice di prova utilizzato:
Imports MailKit
Imports MailKit.Net.Imap
Imports MailKit.Net.Smtp
Imports MimeKit
Imports System.Web.Services.Description
Imports Org.BouncyCastle.Math.EC
Imports MailKit.Net
Public Async Function InviaMessaggioPosta(ByVal IndirizzoMittente As String, ByVal NomeMittente As String, ByVal Destinatario As String, ByVal OggettoMessaggio As String, ByVal TestoMessaggio As String, ByVal IndirizzoAllegato As String) As Tasks.Task(Of Boolean)
Dim EsitoInvio As Boolean = True
Dim Messaggio As New MimeMessage()
Dim ClientMessaggio As New SmtpClient()
ClientMessaggio.ServerCertificateValidationCallback = Function(s, c, h, e) True
Await ClientMessaggio.ConnectAsync("smtps.aruba.it", 465, True).ConfigureAwait(False)
Await ClientMessaggio.AuthenticateAsync("noreply@miosito.it", “MiaPassword").ConfigureAwait(False)
Dim Message = New MimeMessage()
Message.From.Add(New MailboxAddress(NomeMittente, IndirizzoMittente))
Message.To.Add(New MailboxAddress(Destinatario, Destinatario))
Message.Subject = OggettoMessaggio
Dim builder = New BodyBuilder()
builder.HtmlBody = TestoMessaggio
If IndirizzoAllegato <> "" Then builder.Attachments.Add(IndirizzoAllegato)
Message.Body = builder.ToMessageBody()
Try
Await ClientMessaggio.SendAsync(Message)
EsitoInvio = True
Catch ex As Exception
EsitoInvio = False
End Try
Await ClientMessaggio.DisconnectAsync(True).ConfigureAwait(False)
Return EsitoInvio
End Function