Klaus
Nombre de messages : 12331 Age : 75 Localisation : Ile de France Date d'inscription : 29/12/2009
| Sujet: 2.34 du 17 mai 2013: ajout de fonctions pour envoyer un mail Ven 17 Mai 2013 - 16:14 | |
| Nouvelle version: KGF.dll V2.34 du 17/05/2013Nouveauté: ajout de 10 fonctions pour constituer en envoyer un mail. J'utilise le système MAPI de MicroSoft. Ce service envoie le mail sur un serveur SMTP en utilisant le client de messagerie par défaut configuré sur le système. Chez moi, c'est Outlook Express. Rien n'est demandé à l'utilisateur en exécution. Le mail doit être constitué complètement, avec toutes ces partie, avant l'envoi. Le programme a besoin des informations obligatoires suivantes: - nom du compte de l'expéditeur (en général, e qui précède le @) - adresse mail de l'expéditeur - 1 adresse de destinataire principalLe programme gère les informations optionnelles suivantes: - le mot de passe de l'expéditeur si le compte de messagerie est configuré avec un mot de passe (c'est tout te même le cas le plus fréquent) - d'autres adresses de destinataires principaux - 1 ou plusieurs adresses de destinataires en copie - 1 ou plusieurs adresses de destinataires en copie aveugle - 1 ou plusieurs noms de fichiers en pièce jointe (attention: chemin absolu obligatoire !) - l'objet du message (par défaut, l'objet est "pas de sujet") - 1 ou plusieurs lignes de texte pour le corps du message texteModules modifiés: KGF.dll KGF_SUB.bas KGF.chm, KGF.doc, KGF.pdfLa doc est à jour. Je n'ai pas encore réussi à mettre mon site Voilà à jour ; cela viendra. Et voici une démo. Cliquer d'abord sur "Effacer", puis renseigner toutes les zones requises. Là où il y a un bouton "Charger", il faut l'utiliser pour valider la saisie. Lorsque tout est complet, cliquer sur "Envoyer"; - Code:
-
' mail_avec_MAPI.bas
labels() constantes() variables() interface()
initialisations()
end
sub labels() label effacer, charger_file, charger_dest_adr, charger_copy_adr label charger_blind_copy_adr, envoyer, chercher_file label effacer_dest, effacer_copy, effacer_blind_copy, effacer_file end_sub
sub constantes() dim KGF$ : KGF$ = "KGF.dll" end_sub
sub variables() dim no%, no_open% dim n_dest%, n_copy%, n_blind_copy%, n_file% dim e_from_name%, e_from_adr%, e_from_pwd%, e_file% dim e_to_adr%, e_copy_adr%, e_blind_copy_adr%, e_objet%, m_body% dim a_dest%, a_copy%, a_blind_copy%, a_file% dim d_to_adr%, d_copy_adr%, d_blind_copy_adr%, d_file% dim i%, s1$, s2$, s3$ end_sub
sub interface() caption 0,"Envoi de mails par MAPI" width 0,920 : height 0,535 no% = no% + 1 : button no% : top no%,40 : left no%,410 caption no%,"Effacer" : on_click no%,effacer no% = no% + 1 : alpha no% : top no%,92 : left no%,24 caption no%,"Compte expéditeur:" font_bold no% : font_color no%,0,0,255 no% = no% + 1 : edit no% : top no%,88 : left no%,200 : width no%,193 e_from_name% = no% no% = no% + 1 : alpha no% : top no%,124 : left no%,24 caption no%,"Adresse expéditeur:" font_bold no% : font_color no%,0,0,255 no% = no% + 1 : edit no% : top no%,120 : left no%,200 : width no%,193 e_from_adr% = no% no% = no% + 1 : alpha no% : top no%,156 : left no%,24 caption no%,"Mot de passe expéditeur:" font_bold no% : font_color no%,0,0,255 no% = no% + 1 : edit no% : top no%,152 : left no%,200 : width no%,193 e_from_pwd% = no%
no% = no% + 1 : alpha no% : top no%,208 : left no%,24 caption no%,"Fichier joint:" font_bold no% : font_color no%,0,0,255 no% = no% + 1 : edit no% : top no%,208 : left no%,200 : width no%,193 e_file% = no% no% = no% + 1 : button no% : top no%,208 : left no%,395 : width no%,30 caption no%,"..." : on_click no%,chercher_file no% = no% + 1 : button no% : top no%,208 : left no%,425 : width no%,30 caption no%,"X" : on_click no%,effacer_file no% = no% + 1 : button no% : top no%,208 : left no%,455 caption no%,"Charger" : on_click no%,charger_file no% = no% + 1 : alpha no% : top no%,212 : left no%,550 font_color no%,0,0,255 : a_file% = no%
no% = no% + 1 : alpha no% : top no%,264 : left no%,24 caption no%,"Adresse destinataire:" font_bold no% : font_color no%,0,0,255 no% = no% + 1 : edit no% : top no%,264 : left no%,200 : width no%,193 e_to_adr% = no% no% = no% + 1 : button no% : top no%,264 : left no%,425 : width no%,30 caption no%,"X" : on_click no%,effacer_dest no% = no% + 1 : button no% : top no%,264 : left no%,455 caption no%,"Charger" : on_click no%,charger_dest_adr no% = no% + 1 : alpha no% : top no%,268 : left no%,550 font_color no%,0,0,255 : a_dest% = no% no% = no% + 1 : alpha no% : top no%,296 : left no%,24 caption no%,"Adresse copie:" font_bold no% : font_color no%,0,0,255 no% = no% + 1 : edit no% : top no%,296 : left no%,200 : width no%,193 e_copy_adr% = no% no% = no% + 1 : button no% : top no%,296 : left no%,425 : width no%,30 caption no%,"X" : on_click no%,effacer_copy no% = no% + 1 : button no% : top no%,296 : left no%,455 caption no%,"Charger" : on_click no%,charger_copy_adr no% = no% + 1 : alpha no% : top no%,300 : left no%,550 font_color no%,0,0,255 : a_copy% = no% no% = no% + 1 : alpha no% : top no%,328 : left no%,24 caption no%,"Adresse copie aveugle:" font_bold no% : font_color no%,0,0,255 no% = no% + 1 : edit no% : top no%,328 : left no%,200 : width no%,193 e_blind_copy_adr% = no% no% = no% + 1 : button no% : top no%,328 : left no%,425 : width no%,30 caption no%,"X" : on_click no%,effacer_blind_copy no% = no% + 1 : button no% : top no%,328 : left no%,455 caption no%,"Charger" : on_click no%,charger_blind_copy_adr no% = no% + 1 : alpha no% : top no%,332 : left no%,550 font_color no%,0,0,255 : a_blind_copy% = no%
no% = no% + 1 : edit no% : top no%,40 : left no%,528 : width no%,193 e_objet% = no% no% = no% + 1 : alpha no% : top no%,44 : left no%,752 caption no%,"Objet" font_bold no% : font_color no%,0,0,255 no% = no% + 1 : memo no% : top no%,72 : left no%,528 : width no%,193 height no%,113 : m_body% = no% no% = no% + 1 : alpha no% : top no%,78 : left no%,752 caption no%,"Message" font_bold no% : font_color no%,0,0,255
no% = no% + 1 : button no% : top no%,400 : left no%,416 : height no%,65 width no%,153 : font_size no%,12 caption no%,"Envoyer" : on_click no%,envoyer no% = no% + 1 : dlist no% : d_to_adr% = no% no% = no% + 1 : dlist no% : d_copy_adr% = no% no% = no% + 1 : dlist no% : d_blind_copy_adr% = no% no% = no% + 1 : dlist no% : d_file% = no% no% = no% + 1 : open_dialog no% : no_open% = no% end_sub
sub initialisations() KGF_initialize(KGF$) end_sub
effacer: text e_from_name%, "" text e_from_adr%, "" text e_from_pwd%, "" text e_file%, "" text e_to_adr%, "" text e_copy_adr%, "" text e_blind_copy_adr%, "" text e_objet%, "" clear m_body% n_dest% = 0 n_copy% = 0 n_blind_copy% = 0 n_file% = 0 caption a_dest%, "" caption a_copy%, "" caption a_blind_copy%, "" caption a_file%, "" clear d_to_adr% clear d_copy_adr% clear d_blind_copy_adr% clear d_file% return
chercher_file: s1$ = file_name$(no_open%) if s1$="_" then return text e_file%,s1$ return charger_file: item_add d_file%,trim$(text$(e_file%)) n_file% = n_file% + 1 caption a_file%,str$(n_file%)+" fichiers joints" return charger_dest_adr: item_add d_to_adr%,trim$(text$(e_to_adr%)) n_dest% = n_dest% + 1 caption a_dest%,str$(n_dest%)+" destinataires" return effacer_dest: clear d_to_adr% n_dest% = 0 caption a_dest%,"" text e_to_adr%,"" return
effacer_copy: clear d_copy_adr% n_copy% = 0 caption a_copy%,"" text e_copy_adr%,"" return
effacer_blind_copy: clear d_blind_copy_adr% n_blind_copy% = 0 caption a_blind_copy%,"" text e_blind_copy_adr%,"" return
effacer_file: clear d_file% n_file% = 0 caption a_file%,"" text e_file%,"" return
charger_copy_adr: item_add d_to_adr%,trim$(text$(e_copy_adr%)) n_copy% = n_copy% + 1 caption a_copy%,str$(n_copy%)+" destinataires en copie" return
charger_blind_copy_adr: item_add d_to_adr%,trim$(text$(e_blind_copy_adr%)) n_blind_copy% = n_blind_copy% + 1 caption a_blind_copy%,str$(n_blind_copy%)+" destinataires en copie aveugle" return envoyer: s1$ = trim$(text$(e_from_name%)) s2$ = trim$(text$(e_from_adr%)) s3$ = trim$(text$(e_from_pwd%)) if s1$="" message "Pas de nom du compte" return end_if if s2$="" message "Pas d'adresse d'émetteur" return end_if if s3$="" if message_confirmation_yes_no("Pas de mot de passe. Continuer ?")<>1 then return end_if
if n_dest%=0 message "Pas de destinataire" return end_if
' construction et envoi du mail CreateMail() SetMailSender(s1$, s2$, s3$) SetMailObject(trim$(text$(e_objet%)))
if Count(d_to_adr%)>0 for i%=1 to Count(d_to_adr%) s1$ = item_read$(d_to_adr%,i%) AddMailRecipient(s1$) next i% end_if
if Count(d_copy_adr%)>0 for i%=1 to Count(d_copy_adr%) s1$ = item_read$(d_copy_adr%,i%) AddMailCopy(s1$) next i% end_if
if Count(d_blind_copy_adr%)>0 for i%=1 to Count(d_blind_copy_adr%) s1$ = item_read$(d_blind_copy_adr%,i%) AddMailBlindCopy(s1$) next i% end_if
if Count(m_body%)>0 for i%=1 to Count(m_body%) s1$ = item_read$(m_body%,i%) AddMailBodyLine(s1$) next i% end_if
if Count(d_file%)>0 for i%=1 to Count(d_file%) s1$ = item_read$(d_file%,i%) AddMailJoinedFile(s1$) next i% end_if
SendMail() DeleteMail()
return
#INCLUDE "KGF_SUB.bas"
| |
|