Je rencontre depuis quelques semaines un problème avec la fonction Func _INetSmtpMailCom et Gmail.
Mes envois fonctionnaient très bien et sans que je modifie quoi que ce soit, ils ne fonctionnent plus.
Suis-je le seul ? Avez-vous une fonction d'envoi de mail qui fonctionne avec Gmail ?
Merci d'avance pour votre aide.
Amicalement.
BM
Code : Tout sélectionner
Func _INetSmtpMailCom($mail_A, $mail_objet = "", $mail_texte = "", $mail_pj = "", $mail_CC = "", $mail_CCI = "")
$s_SmtpServer = "smtp.gmail.com" ; Serveur SMTP
$s_FromName = "xxx" ; Nom expéditeur
$s_FromAddress = "xxx@gmail.com" ; Mail expéditeur
;$mail_pj = "" ; Pièce jointe (à laisser vide si pas de PJ)
$mail_CC = "" ; Mail de copie (à laisser vide si non nécessaire)
$mail_CCI = "" ; Mail de copie invisible (à laisser vide si non nécessaire)
$s_Username = "xxxx@gmail.com" ; Login compte mail
$s_Password="xxxx"
$s_IPPort = 465 ; Port SMTP : 465 pour SSL / 25 pour non SSL
$s_ssl = 1 ; Mettre 1 si envoi en SSL, sinon 0
$objEmail = ObjCreate("CDO.Message")
$objEmail.From = '"' & $s_FromName & '" <' & $s_FromAddress & '>'
$objEmail.To = $mail_A
Local $i_Error = 0
Local $i_Error_desciption = ""
If $mail_CC <> "" Then $objEmail.Cc = $mail_CC
If $mail_CCI <> "" Then $objEmail.Bcc = $mail_CCI
$objEmail.Subject = $mail_objet
If StringInStr($mail_texte,"<") and StringInStr($mail_texte,">") Then
$objEmail.HTMLBody = $mail_texte
Else
$objEmail.Textbody = $mail_texte & @CRLF
EndIf
If $mail_pj <> "" Then
Local $S_Files2Attach = StringSplit($mail_pj, ";")
For $x = 1 To $S_Files2Attach[0]
$S_Files2Attach[$x] = _PathFull ($S_Files2Attach[$x])
If FileExists($S_Files2Attach[$x]) Then
$objEmail.AddAttachment ($S_Files2Attach[$x])
Else
$i_Error_desciption = $i_Error_desciption & @lf & 'File not found to attach: ' & $S_Files2Attach[$x]
SetError(1)
return 0
EndIf
Next
EndIf
$objEmail.Configuration.Fields.Item ("http://schemas.microsoft.com/cdo/configuration/sendusing") = 2
$objEmail.Configuration.Fields.Item ("http://schemas.microsoft.com/cdo/configuration/smtpserver") = $s_SmtpServer
$objEmail.Configuration.Fields.Item ("http://schemas.microsoft.com/cdo/configuration/smtpserverport") = $s_IPPort
;Authenticated SMTP
If $s_Username <> "" Then
$objEmail.Configuration.Fields.Item ("http://schemas.microsoft.com/cdo/configuration/smtpauthenticate") = 1
$objEmail.Configuration.Fields.Item ("http://schemas.microsoft.com/cdo/configuration/sendusername") = $s_Username
$s_Password=_StringEncrypt(0,$s_Password,"xxxx",2)
$objEmail.Configuration.Fields.Item ("http://schemas.microsoft.com/cdo/configuration/sendpassword") = $s_Password
EndIf
If $s_ssl Then
$objEmail.Configuration.Fields.Item ("http://schemas.microsoft.com/cdo/configuration/smtpusessl") = True
EndIf
;Update settings
$objEmail.Configuration.Fields.Update
; Sent the Message
$objEmail.Send
if @error then
SetError(2)
return $oMyRet[1]
EndIf
EndFunc ;==>_INetSmtpMailCom