CD SOFT- Maîtrisez votre système d’information

Emailing automation

Installation Fonctions Exemples Téléchargements Achat FAQ

Emailing automation fournit des capacités d’emailing à tout langage compatible OLE Automation (Par exemple VBA – Visual basic pour application, VBSCRIPT, etc…) pour les outils bureautiques MICROSOFT® -Word®, Excel®, Access®, … ).

Emailing automationL’intégration dans votre language est immédiate et transparente. Vous pouvez batir votre propre outil gràce à Emailing automation.
Emailing automation ne nécessite aucune librairie complémentaire et il n’est pas nécessaire d’installer OUTLOOK sur votre machine, ce qui supprime tout problème de compatibilité entre vos différentes machines.
Plus aucun problème avec les différentes versions OUTLOOK et les messages d’alerte de sécurité, car Emailing automation utilise sa propre librairie pour envoyer les messages.
Mais vous pouvez utiliser les capacités d’OUTLOOK comme mode d’envoi de messages en utilisant les options adaptées d’Emailing


Installation

Pour activer les fonctions d’Emailing automation sur votre poste, il vous suffit de lancer le programme d’installation sur votre poste.

Télécharger la version limitée:

Fichier exe ici, Fichier zip ici.

La version limitée affiche un message d’avertissement à chaque envoi et ajoute la ligne ‘Envoyé par Emailing automation

Pour obtenir votre licence complète, procédez à l’achat en ligne.

Après installation vous disposez des fonctions d’emailing dans votre langage de développement.

Par défaut la DLL de l’application est installée dans le répertoire :
C:Program FilesCDSOFTAppMailer Automation
Pour dé-sinstaller la librairie lancer le programme Uninstall.exe du même répertoire.

Fonctions

Fonctions………….. Descriptifs Défaut Saisie obligatoire
InitMail Initialise les paramètres par défaut - -
SendMail Envoi Email - -
CloseMail Ferme tous les canaux ouverts - -
GetSmtp Renvoie le serveur SMTP Outlook par défaut - -
Paramètres
SendMode Mode d’envoi : 0 – (Par défaut) smtp intégré, 1 – Utilise OUTLOOK comme vecteur
Recipients Liste des emails destinataires séparés par un ; - Oui
RecipientsName (*) Liste des noms des destinataires séparés par un ; - Non
From Email de l’émetteur (De) - Non
FromName (*) Alias de l’emetteur (De) - Non
ReplyTo (*) Email de réponse From Non
ReplyToName (*) Alias de réponse FromName Non
Sender (*) Email Emetteur Et Adresse de retour en cas d’adresse de destinataire erronée From Non
SenderName (*) Alias Emetteur Et Adresse de retour en cas d’adresse de destinataire erronée FromName Non
Cc Liste des emails en Copie conforme - Non
CcName (*) Liste des alias en copie conforme - Non
Bcc Liste des emails en copie conforme invisible - Non
BccName (*) Liste des alias en copie conforme invisible - Non
Subject Objet de l’envoi - -
ContentTxt Contenu en mode Texte - -
ContentHTML Contenu en mode HTML - -
HTML 0 = Envoi mode Texte, 1= Envoi Mode HTML 0 -
Attachment Liste des fichiers attachés séparés par un ; - -
Priority Niveau de priorité 0=Faible, 1=Normal, 2=Important 1 -
Ack (*) Accusé de réception 0=Non par défaut 1= oui
AckTo (*) Nom du destinataire de l’accusé de réception =From par défaut
MergeVar Liste des variables de publipostage séparées par ; (Séparateur par défaut)
MergeData Liste des valeurs associées aux variables séparées par ; -
VarPrefix Caractère placé avant la variable dans le contenu ou le sujet $ par défaut $
VarAfterFix Caractère facultatif placé après la variable
VarSep Séparateur de variables et des valeurs associées ; par défaut ;
Smtp (*) Serveur SMTP - Oui
SmtpPort (*) Port SMTP (25 par défaut) 25 Non
SmtpAnomymous (*) Accès smtp anonyme (Oui= 1, Non=0) 1 -
SmtpUser (*) Nom utilisateur si accès authentifié - -
SmtpPwd (*) Mot de passe utilisateur si accès authentifié - -
SmtpTimeOut (*) Durée d’attente avant message d’erreur (en secondes) 10 -
CharSet (*) Type de caractères utilisé ISO-8859-1 -
MailAgent (*) Identification du logiciel utilisé pour l’envoi du mail AppMailer -
HeloName (*) Nom “Helo” info.appmailer.com -
MapiAutoSend (**) Par défaut 0: Place dans la boite d’envoi d’OUTLOOK, 1:Envoi immédiat (Mode OUTLOOK uniquement)

(*) : Utilisé uniquement pour le mode smtp (Mode envoi=0), inactif si envoi par OUTLOOK
(**) : Cette propriété est inactive si vous utilisez Outlook 2002-2003 avec un fichier PST, un protocole POP3/SMTP ou Outlook 2000 en mode internet uniquement.

Exemples

Langage VBA

Activation Emailing automation pour le langage Visual Basic pour Application (VBA, Visual Basic pour Application, VbScript, etc …) des logiciels Microsoft

Sélectionner l’option Visual Basic Editor (Alt F11)

harcdcopy_fr_1

Ajouter la référence à APPMAILER AutoLibrary

Appmailer automation VBA

Une fois la librairie activée, toutes les fonctions sont disponibles

Emailing automation VBA

Ajout vba

Puis faire un clic droit sur VBAProject, Microsoft Excel Objects, insertion et module,
coller le code exemple en VBA puis l’adapter.
Activer ensuite l’interface développeur : Menu bouton office, options Excel


La macro “EnvoiMail” sera accessible directement dans le produit OFFICE concerné (EXCEL,WORD, … etc)

Menu développeur

Exemple VBA(Visual Basic For Application)

Important : Afin d’activer le lancement des macros, donner votre accord lors de l’alerte de sécurité (Option activer le contenu)

Envoi d’un email à 2 destinataires en mode texte

Télécharger le fichier ZIP cliquez ici

Sub EnvoiMail()
Dim oSendMail As AppMailerAuto.AppMailer_auto
‘ Initialise l’envoi
Set oSendMail = CreateObject(“AppMailerAuto.AppMailer_auto”)
oSendMail.InitMail
‘Accusé de réception demandé (Enlever le commentaire)
‘oSendMail.ack=1
‘Définition du serveur SMTP (Interne ou FAI)
‘oSendMail.Smtp = “smtp.orange.fr”
‘Emetteur
oSendMail.From = “monadresse@cd-soft.com”
‘Destinataires séparés par un ;
oSendMail.Recipients = “info@cd-soft.com;webmaster@cd-soft.com”
‘Alias des destinataires
oSendMail.RecipientsName = “info;webmaster”
‘Sujet du mail
oSendMail.Subject = “Test email APPMAILER”
‘Contenu du Mail au format Texte
oSendMail.ContentTxt = “Ceci est un mail envoyé par APPMAILER”
‘Envoi du mail
oSendMail.SendMail
‘Ferme tous les canaux ouverts
oSendMail.CloseMail
Set oSendMail = Nothing
End Sub

Envoi d’un email en mode HTML avec un équivalent texte et fonction publipostage

Télécharger le fichier ZIP cliquez ici

Sub EnvoiMail()
Dim oSendMail As AppMailerAuto.AppMailer_auto
‘ Initialise l’envoi
Set oSendMail = CreateObject(“AppMailerAuto.AppMailer_auto”)
oSendMail.InitMail
‘Fonction publipostage
OsendMail.MergeVar = “Nom;Prenom”
OsendMail.MergeData = “Dupond;Alain”
‘Fin
‘Définition du serveur SMTP (Interne ou FAI)
oSendMail.Smtp = “smtp.orange.fr”
‘Emetteur
oSendMail.From = “monadresse@cd-soft.com”
‘Priorité
oSendMail.Priority = 2
‘Destinataires séparés par un ;
oSendMail.Recipients = “info@cd-soft.com”
‘Alias des destinataires
oSendMail.RecipientsName = “info”
‘Sujet du mail
oSendMail.Subject = “Test email APPMAILER destiné à $nom $prenom”
‘Mode HTML
oSendMail.HTML = 1
‘Contenu du Mail au format Texte
oSendMail.ContentTxt = “Ceci est un mail envoyé à $nom $prenom par APPMAILER”
‘Contenu du mail en mode HTML
oSendMail.ContentHTML = “<HTML><body><strong>Ceci</strong> est un mail envoyé par APPMAILER à $nom $prenom</body><HTML>”
‘Envoi du mail
oSendMail.SendMail
‘Ferme tous les canaux ouverts
oSendMail.CloseMail
Set oSendMail = Nothing
End Sub

Exemple EXCEL

Saisir vos données sous forme tabulaire.

Télécharger le fichier EXCEL cliquez ici

Télécharger le code vba cliquez ici

Sub EnvoiMail()
Dim oSendMail As AppMailerAuto.AppMailer_auto, email As String, nom As String, prenom As String, contenu As String
‘ Initialise l’envoi
Set oSendMail = CreateObject(“AppMailerAuto.AppMailer_auto”)
oSendMail.InitMail
‘Accusé de réception demandé (Enlever le commentaire)
‘oSendMail.ack = 1
‘Définition du serveur SMTP (Interne ou FAI)
oSendMail.Smtp = “smtp.orange.fr”
‘Emetteur
oSendMail.From = “monadresse@cd-soft.com”
‘Boucle d’envoi qui parcoure la feuille EXCEL
For i = 2 To 3 ‘ Lignes des données à utiliser
email = Worksheets(1).Cells(i, 1).Value
nom = Worksheets(1).Cells(i, 2).Value
prenom = Worksheets(1).Cells(i, 3).Value
contenu = Worksheets(1).Cells(i, 4).Value
oSendMail.Recipients = email
oSendMail.RecipientsName = nom
oSendMail.Subject = “Test email APPMAILER”
oSendMail.MergeVar = “Nom;Prenom;contenu”
oSendMail.MergeData = nom + “;” + prenom + “;” + contenu
oSendMail.ContentTxt = “Ceci est un mail envoyé par APPMAILER pour $prenom $nom. Le contenu du message est $contenu”
oSendMail.SendMail
Next
‘Ferme tous les canaux ouverts
oSendMail.CloseMail
Set oSendMail = Nothing
End Sub

Exemple en VBSCRIPT

Télécharger le fichier ZIP cliquez ici

Option Explicit
Function Main()
Dim oSendMail
‘ Initialise l’envoi
Set oSendMail = CreateObject(“AppMailerAuto.AppMailer_auto”)
oSendMail.InitMail
‘Définition du serveur SMTP (Interne ou FAI)
oSendMail.Smtp = “smtp.orange.fr”
‘Emetteur
oSendMail.From = “info@cd-soft.com”
‘Priorité
oSendMail.Priority =3
‘Destinataires séparés par un ;
oSendMail.Recipients = “info@cd-soft.com”
‘Alias des destinataires
oSendMail.RecipientsName = “info”
‘Sujet du mail
oSendMail.Subject = “Test email APPMAILER”
‘Mode HTML
oSendMail.HTML = 1
‘Contenu du Mail au format Texte
oSendMail.ContentTxt = “Ceci est un mail envoyé par APPMAILER”
‘Contenu du mail en mode HTML
oSendMail.ContentHTML = “<HTML><body><strong>Ceci</strong> est un mail envoyé par APPMAILER</body><HTML>”
‘Envoi du mail
oSendMail.SendMail
‘Ferme tous les canaux ouverts
oSendMail.CloseMail
Set oSendMail = Nothing
End Function

Exemple code DELPHI (PASCAL)

Télécharger le fichier ZIP cliquez ici

procedure TForm1.B_GoClick(Sender: TObject);
var
Obj: variant;
begin
Obj := CreateOleObject(‘AppMailerAuto.AppMailer_auto’);
Obj.InitMail;
Obj.Recipients := ‘webmaster@cd-soft.com’;
Obj.Smtp := ‘smtp.orange.fr’;
Obj.From := ‘info@cd-soft.com’;
Obj.ContentTxt := ‘Test AppMailer’;
Obj.ContentHTML := ‘<HTML><boby><B>Test AppMailer</B></Body></HTML>’;
Obj.HTML := 1;
Obj.Subject := ‘Test’;
Obj.SendMail;
Obj.CloseMail;
end;

Mise en place d’un suivi d’ouverture de mail (Tracking)

Télécharger le fichier ZIP cliquez ici

La version 5 permet de mettre en place un suivi d’ouverture (en mode HTML uniquement).
Le code généré affiche une image “invisible” de dimension 1×1
Cette fonction n’est utilisable qu’avec un script coté serveur (php, aspx).
La propriété marker doit être à 1
La propriété markervalue doit correspondre au script du serveur WEB.

Exemple : http://votresiteweb/track/upd_log.php?value=$key”

En VBA :

Sub Test()
Dim OsendMail As AppMailerAuto.AppMailer_auto
Set OsendMail = CreateObject(“AppMailerAuto.AppMailer_auto”)
OsendMail.InitMail
‘ Marqueur
OsendMail.Marker = 1
OsendMail.MarkerValue = “http://votresiteweb/track/upd_log.php?value=$key”
‘Fin marqueur
OsendMail.MergeVar = “Nom;Prenom;key”
OsendMail.MergeData = “Dupond;Alain;1″
OsendMail.From = “info@cd-soft.com”
OsendMail.Recipients = “jserpoul@cd-soft.com”
OsendMail.Smtp = “smtp.orange.fr”
OsendMail.Subject = “AppMailer demo envoyé à $prenom $nom”
OsendMail.HTML = 1
OsendMail.ContentTxt = “Test pour Appmailer pour $nom $prenom”
OsendMail.ContentHTML = “<HTML><body><strong>Ceci</strong> est un mail envoyé à $nom $prenom par APPMAILER</body><HTML>”
OsendMail.SendMail
OsendMail.MergeData = “Durand;Jean;2″
OsendMail.SendMail
OsendMail.CloseMail
Set OsendMail = Nothing
End Sub

Le code suivant est automatiquement ajouté à l’email :

<br><img src=”http://votresiteweb/track/upd_log.php?value=1 width=”1″ height=”1″><br>

le programme upd_log.php ressemble à celui-ci

Télécharger le fichier ZIP cliquez ici

<?
// Traitement des informations – exemple
$ip=getenv(REMOTE_ADDR);
$agent=getenv(HTTP_USER_AGENT);
{
$c_date=GetDate(time());
$x_day=$c_date["mday"];
$x_month=$c_date["mon"];
if ($c_date["mday"]*1<10)
{
$x_day=”0″.$c_date["mday"];
}
if ($c_date["mon"]*1<10)
{
$x_month=”0″.$c_date["mon"];
}
$mydate=$c_date["year"].$x_month.$x_day;
$filelog=”../file_logs/$mydate.log”;
$liste_valeurs = date(“Y/m/d H:i”).”~~”;
$liste_valeurs .= $value.”~~”;
$liste_valeurs .= $ip.”~~”;
$liste_valeurs .= gethostbyaddr( $ip );
$fic=fopen(“$filelog”, “a”);
if ($fic)
{
fputs($fic, $liste_valeurs . “n”);
fclose($fic);
}
}
// Plus simple que ci-dessus==> Envoi d’email accusé de réception
// Sendmail …. etc
// Obligatoire création d’une image de 1×1
Header(“Content-type: image/gif”);
$im = imagecreate(1,1);
imagegif($im);
imagedestroy($im);
?>

Le programme récupére value puis résoud l’adresse IP du destinataire.

Le fichier généré est de la forme anneemoisjour.log et les lignes sont de la forme : AnneeMoisJour Heure~~value~~ip~~addresse résolue. Une analyse simple des fichiers logs donne toutes les informations nécessaires.

Les 4 dernières lignes ne doivent pas être modifiées. Par contre, le traitement est au choix du développeur.

Code en C# ASPX

Télécharger le fichier ZIP cliquez ici

<%@ Page Language=”C#” ContentType=”image/gif” %>
< %@ import Namespace=”System.Web” %>
< %@ import Namespace=”System.IO” %>
< %@ import Namespace=”System.Drawing” %>
< %@ import Namespace=”System.Drawing.Imaging” %>
< script runat=”server”>
void Page_Load(Object sender, EventArgs e)
{
string Line;
string Lnk;
string No;
string UserId;
string GoURL;
string CurrentMonth;
string CurrentDay;
string CurrentYear;
string Root;
string Ip;
string IpAddr;
string FileName;
string CurrentHour;
string CurrentMn;
int iCurrentDay;
int iCurrentMonth;
int iCurrentYear;
int iCurrentHour;
int iCurrentMn;
FileInfo DataFile;
StreamWriter TextStream;
DateTime CurrentDate;
Root=Request.MapPath(“..file_logs/”);
Lnk=Request.QueryString.Get(“value”);
Ip=Request.UserHostAddress;
IpAddr=Request.UserHostName;
CurrentDate=DateTime.Now;
iCurrentMonth=CurrentDate.Month;
if (iCurrentMonth<10)
{
CurrentMonth=”0″+iCurrentMonth.ToString();
}
else
{
CurrentMonth=iCurrentMonth.ToString();
}
iCurrentDay=CurrentDate.Day;
if (iCurrentDay<10)
{
CurrentDay=”0″+iCurrentDay.ToString();
}
else
{
CurrentDay=iCurrentDay.ToString();
}
iCurrentYear=CurrentDate.Year;
CurrentYear=iCurrentYear.ToString();
iCurrentHour=CurrentDate.Hour;
CurrentHour=iCurrentHour.ToString();
iCurrentMn=CurrentDate.Minute;
CurrentMn=iCurrentMn.ToString();
FileName=Root+CurrentYear+CurrentMonth+CurrentDay+”.log”;
Line=CurrentYear+”/”+CurrentMonth+”/”+CurrentDay+” “+CurrentHour+”:”+CurrentMn+”~~”+Lnk+”~~”+Ip+”~~”+IpAddr;
//Response.Write(FileName);
if (File.Exists(FileName))
{
TextStream = File.AppendText(FileName);
}
else
{
TextStream = File.CreateText(FileName);
}
TextStream.WriteLine (Line);
TextStream.Close();
Bitmap objBitmap;
Graphics objGraphics;
objBitmap = new Bitmap(1, 1);
objGraphics = Graphics.FromImage(objBitmap);
objBitmap.Save( Response.OutputStream, ImageFormat.Gif);
}
< /script>
< html>
< head>
< /head>
< body>
<form runat=”server”>
<!– Insert content here –>
</form>
< /body>
< /html>

Téléchargements

La versions d’essai téléchargée affiche une boîte de dialogue  à chaque envoi, le débridage s’effectue lors de l’installation de votre clé d’activation.

Fichier exe ici
Fichier zip ici.

Achats

Emailing automation 99 EUROS HT soit 118.40 EUROS TTC (TVA 19,40 EUROS)


Dès validation de votre commande, nous vous enverrons par email la clé d’activation.

Votre enregistrement vous donne droit à :
- Une mise à jour gratuite et illimitée pour les évolutions de la version en cours.
- un support technique par email.

Il est possible d’effectuer votre réglement par chèque à notre adresse postale.

FAQ

Question : Puis-je utiliser Emailing Automation dans mon language ?
Réponse : Pratiquement tous les langages sont capables d’utiliser OLE Automation.

Question : Puis-je envoyer des messages au format HTML
Réponse : Oui, en utilisant la propriété HTML.

Question : OUTLOOK doit-il être installé si je fais mes envois en utilisant le protocole SMTP ?
Réponse : Non, l’option OUTLOOK ne doit être utilisé que si vous souhaitez sauvegarder vos messages dans la boîte aux lettres associée.

Question : Dois-je préférer l’envoi par SMTP à l’envoi par OUTLOOK ?
Réponse : Oui, car les possibilités sont beaucoup plus étendues.

Question : Puis-je envoyer des pièces jointes ?
Réponse : Oui, grâce à la propriété Attachment vous pouvez envoyer plusieurs pièces jointes.

Question (Envoi SMTP) : L’accusé de lecture est-il géré ?
Réponse ; Oui, grâce à la propriété ack. De plus la propriété ackto vous permets de définir le destinataire de l’accusé de réception qui peut-être différent de l’émetteur du message.

Question : Le publipostage est-il facile avec Emailing Automation ?
Réponse : Le publipostage est facilité grâce aux propriétés mergevar et mergedata.

CD SOFT- Maîtrisez votre système d’information