Le forum (ô combien francophone) des utilisateurs de Powerbuilder.
Bonjour,
J'ai le script ci-dessous qui tourne actuellement sous PB 11.5 pour envoyer un mail via Outlook 2000 SR1.
Nous migrons vers Outlook 2010 et ce script ne fonctionne plus.
Quelqu'un a-t-il une idée ?
string ls_dest[], ls_copie[], ls_fichier[], ls_nom_fichier long ll_nb_dest, ll_nb_copie, i mailSession mSes mailReturnCode mRet mailMessage mMsg mailFileDescription mAttach integer li_return li_return = 0 // Recup les adresses mail decoupees ls_dest[] = of_parse( as_dest, ";") ll_nb_dest = UpperBound( ls_dest[]) ls_copie[] = of_parse( as_copie, ";") ll_nb_copie = UpperBound( ls_copie[]) // Creation session mSes = CREATE mailSession // Connexion session mRet = mSes.mailLogon(mailDownLoad!) IF mRet = mailReturnSuccess! THEN // Structure du mail (destinataire / copie / objet / corps du texte) FOR i = 1 TO ll_nb_dest mRet = mSes.mailResolveRecipient(ls_dest[i]) IF mRet = mailReturnFailure! THEN f_ref_pb_error( "n_cst_systeme", "of_envoie_mail", 0, "Mail - Erreur destinataire : " + ls_dest[i]) END IF mMsg.Recipient[i].name = ls_dest[i] mMsg.Recipient[i].RecipientType = mailTo! NEXT IF Trim( as_copie)="" OR Trim( as_copie)=" " OR IsNull( Trim( as_copie)) THEN ELSE FOR i = 1 TO ll_nb_copie mRet = mSes.mailResolveRecipient(ls_copie[i]) IF mRet = mailReturnFailure! THEN f_ref_pb_error( "n_cst_systeme", "of_envoie_mail", 0, "Mail - Erreur copie : " + ls_copie[i]) END IF mMsg.Recipient[i + ll_nb_dest].name = ls_copie[i] mMsg.Recipient[i + ll_nb_dest].RecipientType = mailCC! NEXT END IF mMsg.Subject = as_objet mMsg.NoteText = as_corps IF Trim( as_piece_jointe)="" OR Trim( as_piece_jointe)=" " OR IsNull( Trim( as_piece_jointe)) & OR FileExists( as_piece_jointe) = FALSE THEN ELSE ls_fichier[] = of_parse( as_piece_jointe, "/") ls_nom_fichier = ls_fichier[UpperBound( ls_fichier[])] mAttach.FileName = ls_nom_fichier mAttach.PathName = as_piece_jointe mAttach.FileType = mailAttach! mMsg.AttachmentFile[1] = mAttach END IF // Envoi mail mRet = mSes.mailSend(mMsg) IF mRet = mailReturnSuccess! THEN li_return = 1 ELSE f_ref_pb_error( "n_cst_systeme", "2.of_envoie_mail", 0, +& "Erreur envoie : "+ VSN(string(mRet)) +& "~nDest. : "+ VSN(as_dest) +& "~nCopie : "+ VSN(as_copie) +& "~nObject : "+ VSN(as_objet) +& "~nCorps : "+ VSN(as_corps)) // CHOOSE CASE mRet // CASE mailReturnFailure! // f_ref_pb_error( "n_cst_systeme", "2.of_envoie_mail", 0, "Mail - Erreur envoie : mailReturnFailure!") // CASE mailReturnInsufficientMemory! // f_ref_pb_error( "n_cst_systeme", "2.of_envoie_mail", 0, "Mail - Erreur envoie : mailReturnInsufficientMemory!") // CASE mailReturnUserAbort! // f_ref_pb_error( "n_cst_systeme", "2.of_envoie_mail", 0, "Mail - Erreur envoie : mailReturnUserAbort!") // END CHOOSE END IF else f_ref_pb_error( "n_cst_systeme", "1.of_envoie_mail", 0, "Mail - Erreur session : " + string( mRet)) END IF // Deconnexion + sup objet session mSes.mailLogoff() DESTROY mSes return li_return
NB : la fonction f_ref_pb_error est juste une trace afin de voir le bon fonctionnement.
Dernière modification par bdf94 (06-02-2012 09:47:02)
Hors ligne