Vbmailer : envoi automatique d'un mail depuis toutes versions de windows

Description

L'objectif de VBMailer est l'envoi automatique d'un mail et sans bug cette fois, par exemple depuis un poste sur lequel sera installé votre logiciel, comme cela est utile pour VBLocker :
VBLOCKER : PROTÉGEZ VOTRE APPLICATION COMMERCIALE :
www.vbfrance.com/article.aspx?Val=4123

L'envoi automatique de mail est utile aussi pour TeamManager :
TEAMMANAGER : MULTIPOSTAGE SMS+MAIL :
www.vbfrance.com/article.aspx?Val=2188

VBMailer fonctionne automatiquement à partir d'un fichier ini, il doit donc être piloté depuis un autre logiciel.

Ce programme peut servir par exemple pour retourner un rapport d'erreur au concepteur d'un logiciel depuis un client qui le teste, comme pour Winbogues et sa suite MSBugOffice de Microbugsoft.

Naturellement, la solution la plus simple est d'utiliser MSMapi32.ocx, mais voilà : il plante souvent sous Windows 9x (il semble bien marcher sous Win2k), parfois il provoque l'erreur n° 30000 : "Erreur au chargement de la DLL MAPI". Même un faisant un package d'installation, avec VB6 Setup Wizard ou bien avec Visual Studio Installer 1.1, cela ne résout pas le problème : l'envoie de mail risque de ne pas marcher, par exemple dans un Windows 98 vierge de tout logiciel spécifique.
VBMailer teste donc le système d'exploitation : si c'est NT (4, 2k ou XP), on teste la méthode la plus simple et la plus performante : MSMapi32.ocx
Sinon, on teste la méthode Shell, qui a l'inconvénient de requérir une validation de la part de l'utilisateur (quoique cela puisse être utile dans certain cas), et les fichiers joints ne sont pas supportés sous Outlook Express (la syntaxe prévoit pourtant un "&Attach='" & sCheminFichierJoint & "'", mais elle est sans effet, sans doute pour des raisons de sécurité ; de toute façon, tout le monde sait à quoi s'en tenir dans ce domaine...). Les sauts de lignes sont possibles pour le contenu du mail, contrairement à ce que j'avais déjà indiqué à ce sujet sur VBFrance.
Au cas où, on affiche le bloc-notes avec le contenu précis du mail à envoyer.

En ce qui concerne ShellExecute, cette API fait la même chose que la fonction Shell de VB, avec en plus la possibilité d'utiliser les associations de fichiers de la base de registre pour lancer une application, ce qui n'est pas utile ici.
Quand à l'objet Microsoft Outlook, il requiert une référence à ce logiciel, qui n'est pas installé partout contrairement à sa version Express :
Microsoft Outlook 8.0 Object Library : C:\Program Files\Microsoft Office\Office folder\Msoutl8.olb

Il reste enfin une autre possibilité d'envoi de mail disponible sous NT seulement, mais cela n'est pas très utile car l'ocx MSMapi32.ocx semble bien fonctionner dans ce cas.
Sinon, j'ai vu passer des techniques de serveur web de mail sur VBFrance, mais je ne suis pas sûr que ce genre de solution soit pérenne pour une application de niveau professionnelle.

Version 1.0 du 19/08/2002
Par patrice.dargenton@free.fr
http://patrice.dargenton.free.fr/index.html

Source / Exemple :


cf.Zip

Codes Sources

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.