E' da 3 giorni che impazzisco !
Il seguente codice spedisce una email utilizzando vbSendMail.dll
codice:
Set poSendMail = New clsSendMail
poSendMail.SMTPHost = SMTP
poSendMail.From = EmailNoReply
poSendMail.FromDisplayName = NomeNoReply
poSendMail.Recipient = EmailX
poSendMail.Subject = "RELAZIONE DI SOPRALLUOGO"
messaggio = "Con la presente si comunica ..."
poSendMail.Message = messaggio
poSendMail.AsHTML = True
poSendMail.Send
Preciso che SMTP vale "mail.tin.it" e che l'unica variabile è EmailX
Funziona perfettissimamente tranne che per le email con dominio gmail.com.
Ma anche questa affermazione non è strettamente vera perchè in 3 altri punti del programma questo stesso codice funziona anche con email di gmail.com.
In un primo momento pensavo che questo codice in quel certo form non svolgesse il suo compito a causa di interazioni con Word ed il suo modello ad oggetti e/o con PDFCreator (che usati congiuntamente creano le relazioni di sopralluogo). Allora ho separato queste funzioni ma ... nulla.
Il bello (si fa per dire) è che nella stessa finestra in cui opera questo codice ho inserito un pulsante di prova con questo codice
codice:
Private Sub Command1_Click()
Dim S As String
Dim EmailX As String
Dim DataStampa As String
Dim RagioneSocialeStampata As String
Dim messaggio As String
EmailX = " xxxxxxx @gmail.com"
DataStampa = "01/01/2015"
RagioneSocialeStampata = "DITTA DI PROVA"
Set poSendMail = New clsSendMail
poSendMail.SMTPHost = SMTP
poSendMail.From = EmailNoReply
poSendMail.FromDisplayName = NomeNoReply
poSendMail.Recipient = EmailX
S = "PROVA RELAZIONE DI SOPRALLUOGO - " & Format$(DataStampa, "D") & " " & UCase(Format$(DataStampa, "mmmm")) & " " & Format$(DataStampa, "YYYY")
poSendMail.Subject = S
messaggio = "Con la presente si comunica che la relazione di sopralluogo relativa alla ditta <b>" & RagioneSocialeStampata & "</b> è ora disponibile sul sito <b>www.medartservizi.it</b> nell'area riservata alla quale è possibile accedere con le credenziali fornite precedentemente.<BR>"
poSendMail.Message = messaggio
poSendMail.AsHTML = True
poSendMail.Send
End Sub
E funziona perfettamente, spedendo l'email a xxxxxxxxxxx @gmail.com. Non è quindi colpa del particolare form.
In tutti i casi (email spedite e email non spedite) la funzione Sub poSendMail_SendSuccesful() indica Debug.print "poSendMail_SendSuccesful()" e la Sub poSendMail_SendFailed non entra in funzione.
So di chiedere molto ma non so proprio più che pesci pigliare.
Grazie anticipatamente