GNU/Linux >> Tutoriels Linux >  >> Ubuntu

Installation de Mailtrain sur le serveur Ubuntu 18.04 sans Docker

Ce tutoriel vous montrera comment installer Mailtrain sur Ubuntu 18.04 sans Docker. Mailtrain est une application de newsletter auto-hébergée open source, une alternative aux fournisseurs de services de messagerie commerciaux comme Mailchimp. Vous pouvez utiliser Mailtrain pour envoyer des e-mails à vos abonnés via votre propre serveur de messagerie ou en utilisant n'importe quel service de relais SMTP (Mailjet, SendGrid, AmazonSES, Mailgun, etc.).

Mailtrain est publié sous les termes de la licence GPL v3.0, construit sur Node.js et MySQL/MariaDB. La dernière version est la v1.24.1, publiée le 28 septembre 2018. Les fonctionnalités de Mailtrain sont les suivantes :

  • Il vous permet de gérer facilement de grandes listes de diffusion (comme 1 million d'abonnés).
  • Vous pouvez ajouter des abonnés manuellement, via l'API, ou importer à partir d'un fichier CSV.
  • Il prend en charge les champs personnalisés (champs de texte, chiffres, listes déroulantes ou cases à cocher), les balises de fusion et les formulaires personnalisés.
  • Segmentation de la liste.
  • Campagne RSS :générez automatiquement la newsletter à partir du flux RSS et envoyez-la aux abonnés.
  • Les abonnés peuvent télécharger leurs clés publiques GPG et Mailtrain chiffrera la newsletter pour eux.
  • Vous permet de vérifier les statistiques de clics individuels pour chaque lien.
  • Éditeurs de modèles d'e-mail avancés et éditeur de code HTML.
  • Automatisation :envoyez des e-mails spécifiques lorsque l'utilisateur active votre déclencheur prédéfini.
  • Vous pouvez créer une liste de diffusion ouverte (autoriser l'abonnement public) et une liste de diffusion fermée (les abonnés sont ajoutés à la liste par l'administrateur).
  • Il vous permet de reprendre d'anciennes campagnes par e-mail (envoyer d'anciennes campagnes à de nouveaux abonnés).

Prérequis

Pour exécuter Mailtrain, vous avez besoin d'un serveur avec au moins 1 Go de RAM. Vous pouvez cliquer sur ce lien spécial pour obtenir un crédit gratuit de 50 $ sur DigitalOcean. (Pour les nouveaux utilisateurs uniquement). Si vous êtes déjà un utilisateur de DigitalOcean, vous pouvez cliquer sur ce lien spécial pour obtenir un crédit gratuit de 50 $ sur Vultr (pour les nouveaux utilisateurs uniquement). Une fois que vous avez un compte chez DigitalOcean ou Vultr, installez Ubuntu 18.04 sur votre serveur et suivez les instructions ci-dessous.

Vous devez également avoir un nom de domaine. J'ai enregistré mon nom de domaine auprès de NameCheap parce que le prix est bas et qu'ils offrent gratuitement une protection de la confidentialité whois.

Installer Mailtrain sur Ubuntu 18.04 sans Docker

Dans un précédent tutoriel, j'ai expliqué comment installer Mailtrain à l'aide de Docker. Docker est idéal pour les personnes qui souhaitent mettre en place une application rapidement, mais il est également très gourmand en ressources. Sur un VPS avec 1 Go de RAM sur lequel Mailtrain est installé à l'aide de Docker, le conteneur MySQL s'arrête souvent car la RAM s'épuise. Je vais donc vous montrer un moyen compatible avec la RAM d'installer Mailtrain sur Ubuntu 18.04, ce qui peut économiser environ 400 Mo de RAM.

Remarque :Mailtrain fournit un script d'installation, mais il peut être obsolète et vous rencontrerez probablement des erreurs lors de l'exécution du script d'installation. Ce didacticiel explique chaque étape afin que vous puissiez comprendre son fonctionnement et l'installer.

Étape 1 :Installer le serveur de base de données MariaDB

Les données de vos abonnés seront stockées dans une base de données. Mailtrain prend en charge MySQL et MariaDB. MariaDB est un remplacement direct de MySQL. Il est développé par d'anciens membres de l'équipe MySQL qui craignent qu'Oracle ne transforme MySQL en un produit à source fermée. Alors installons le serveur de base de données MariaDB.

Entrez la commande suivante pour l'installer sur Ubuntu 18.04.

sudo apt install mariadb-server mariadb-client

Une fois installé, le serveur MariaDB devrait être automatiquement démarré. Utilisez systemctl pour vérifier son état.

statut systemctl mariadb

Exemple de sortie :

● mariadb.service - Serveur de base de données MariaDB 10.1.34 Chargé :chargé (/lib/systemd/system/mariadb.service ; activé ; préréglage du fournisseur :activé) Actif :actif (en cours d'exécution) depuis sam. 2018-09-08 11 :13:27 UTC ; Il y a 21 s Docs :man:mysqld(8) https://mariadb.com/kb/en/library/systemd/ PID principal :3473 (mysqld) :505) CGroup :/system.slice/mariadb.service └─3473 /usr/sbin/mysqld

S'il ne fonctionne pas, démarrez-le avec cette commande :

sudo systemctl démarrer mariadb

Pour permettre à MariaDB de démarrer automatiquement au démarrage du système, exécutez

sudo systemctl enable mariadb

Exécutez maintenant le script de sécurité post-installation.

sudo mysql_secure_installation

Lorsqu'il vous demande d'entrer le mot de passe root MariaDB, appuyez sur la touche Entrée car le mot de passe root n'est pas encore défini. Saisissez ensuite y pour définir le mot de passe root pour le serveur MariaDB.

Ensuite, vous pouvez appuyer sur Entrée pour répondre à toutes les questions restantes, ce qui supprimera l'utilisateur anonyme, désactivera la connexion root à distance et supprimera la base de données de test. Cette étape est une exigence de base pour la sécurité de la base de données MariaDB. (Notez que la lettre Y est en majuscule, ce qui signifie que c'est la réponse par défaut.)

Vérifiez les informations de version du serveur MariaDB.

mariadb --version

Sortie :

mariadb Ver 15.1 Distrib 10.1.34-MariaDB, pour debian-linux-gnu (x86_64) utilisant readline 5.2

Étape 2 :Créer une base de données et un utilisateur pour Mailtrain

Nous devons maintenant nous connecter à la console MariaDB et créer une base de données et un utilisateur pour Mailtrain. Par défaut, le package MaraiDB sur Ubuntu utilise unix_socket pour authentifier la connexion de l'utilisateur, ce qui signifie essentiellement que vous pouvez utiliser le nom d'utilisateur et le mot de passe du système d'exploitation pour vous connecter à la console MariaDB. Vous pouvez donc exécuter la commande suivante pour vous connecter sans fournir de mot de passe root MariaDB.

sudo mariadb -u root

Créez une base de données pour Mailtrain à l'aide de la commande suivante. Je l'ai nommé mailtrain , mais vous pouvez utiliser le nom de votre choix. (N'oubliez pas le point-virgule.)

créer une base de données mailtrain ;

Entrez ensuite la commande ci-dessous pour créer un utilisateur de base de données pour Mailtrain et accordez tous les privilèges de la base de données mailtrain à l'utilisateur. Remplacez mtuser et your-password avec votre nom d'utilisateur et votre mot de passe préférés.

accorder tous les privilèges sur mailtrain.* à mtuser@localhost identifié par 'mtuser_password' ;

Ensuite, créez un utilisateur avec un accès en lecture seule à la base de données mailtrain. J'ai nommé cet utilisateur mt_readonly .

accorder la sélection sur mailtrain.* TO mt_readonly@localhost identifié par 'mt_readonly_password' ;

Videz la table des privilèges pour que les modifications prennent effet, puis sortez de la console MariaDB.

vider les privilèges ;quitter ;

Étape 3 :Installez Node.js

Mailtrain est basé sur Node.js, un environnement d'exécution JavaScript qui traduit le code JavaScript lisible par l'homme en code machine. Nous devons donc installer Node.js sur Ubuntu 18.04 afin d'exécuter Mailtrain. Mailtrain nécessite Node.js 7+. Ce didacticiel installera la version LTS actuelle de Node.js (V8.x) à partir du référentiel NodeSource.

curl -sL https://deb.nodesource.com/setup_8.x | sudo -E bash -sudo apt install -y nodejs

Remarque :La dernière version LTS de Node.js est désormais la v12, mais elle ne fonctionne pas avec Mailtrain v1.24.1.

Le nodejs contient le binaire npm (Node.js package manager), il n'est donc pas nécessaire de l'installer séparément. Pour vérifier votre version de Node.js et npm, exécutez

node -vnpm -v

Sortie :

Pour compiler et installer des addons natifs à partir de npm, vous devez également installer des outils de compilation :

sudo apt install -y build-essential

Étape 4 :Exécuter Mailtrain

Allez à /var/www/ et récupérez les fichiers Mailtrain de Github.

cd /var/www/sudo git clone https://github.com/Mailtrain-org/mailtrain.git

Importez les données SQL initiales dans la base de données mailtrain à l'aide de la commande suivante. Vous devez entrer le mot de passe de mtuser .

mariadb -u mtuser -p mailtrain  

Créez le fichier de configuration production.toml.

sudo nano /var/www/mailtrain/config/production.toml

Dans ce fichier, vous pouvez ajouter des configurations qui remplacent les configurations par défaut dans /var/www/mailtrain/config/default.toml dossier. Il nous suffit d'ajouter les configurations suivantes.

user="mailtrain"group="mailtrain"[log]level="error"[www]secret="Remplacez ceci par des caractères aléatoires"[mysql]user="mtuser"password="mtuser_password"[queue] processus=5

Enregistrez et fermez le fichier. Créez ensuite le mailtrain l'utilisateur et le groupe sous lesquels le démon mailtrain doit s'exécuter. Notez que nous n'avons pas besoin de créer de mot de passe pour cet utilisateur, nous créons donc un utilisateur système au lieu d'un utilisateur normal.

sudo adduser --system --group mailtrain

Créez un fichier de configuration pour le générateur de rapports.

sudo nano /var/www/mailtrain/workers/reports/config/production.toml

Ajoutez les configurations suivantes. Ce travailleur de rapport aura un accès en lecture seule à la base de données mailtrain.

[log]level="error"[mysql]user="mt_readonly"password="mt_readonly_password"

Enregistrez et fermez le fichier. Modifiez ensuite l'autorisation de /var/www/mailtrain/ .

sudo chown mailtrain:mailtrain /var/www/mailtrain/ -Rsudo chmod o-rwx /var/www/mailtrain/config/

Et installez les packages de nœuds requis.

cd /var/www/mailtrainsudo npm install --no-progress --production --unsafe-perm=true

Copiez le fichier de l'unité de service systemd dans /etc/systemd/system/ répertoire.

sudo cp /var/www/mailtrain/setup/mailtrain.service /etc/systemd/system/

Ouvrez ce fichier.

sudo nano /etc/systemd/system/mailtrain.service

Modifier /opt/mailtrain vers /var/www/mailtrain . Vous pouvez également commenter la ligne suivante. Parce que, avec la ligne suivante activée, si MySQL/MariaDB redémarre, alors le mailtrain.service redémarrera également, et si le serveur MySQL/MariaDB est en cours de mise à jour, alors mailtrain.service s'arrêtera. Je pense qu'il n'est pas nécessaire d'exiger le mysql.service .

Nécessite=mysql.service

Enregistrez et fermez ce fichier. Puis lancez mailtrain.service .

sudo systemctl start mailtrain.service

Vérifiez son état. Assurez-vous qu'il est en cours d'exécution.

sudo systemctl status mailtrain.service

Activez le démarrage automatique au démarrage du système.

sudo systemctl enable mailtrain.service

Maintenant que Mailtrain est en cours d'exécution, vous pouvez accéder à l'interface Web de Mailtrain via le port 3000.

adresse-ip-de-votre-serveur :3000

Étape 5 :Configurer le proxy inverse et activer HTTPS

Avant d'utiliser l'interface Web Mailtrain, plaçons-la derrière Nginx, puis activons HTTPS. Installez le serveur Web Nginx sur Ubuntu 18.04 avec :

sudo apt installer nginx

Vous pouvez maintenant copier l'exemple mailtrain-nginx.conf fichier dans /etc/nginx/conf.d/ répertoire.

sudo cp /var/www/mailtrain/setup/mailtrain-nginx.conf /etc/nginx/conf.d/

Ouvrez ce fichier.

sudo nano /etc/nginx/conf.d/mailtrain-nginx.conf

Trouvez la ligne suivante.

nom_serveur mailtrain.org www.mailtrain.org ;

Modifiez la valeur de server_name paramètre à votre propre nom de domaine comme newsletter.your-domain.com . N'oubliez pas de créer un enregistrement A pour ce sous-domaine.

nom_serveur newsletter.linuxbabe.com ;

Enregistrez et fermez le fichier. Testez ensuite les configurations Nginx.

sudo nginx -t

Si le test réussit, rechargez Nginx pour que les modifications prennent effet.

sudo systemctl recharger nginx

Vous devriez maintenant pouvoir accéder à l'interface Web de Mailtrain via votre sous-domaine : newsletter.your-domain.com .

Modifiez maintenant /var/www/mailtrain/config/production.toml fichier.

sudo nano /var/www/mailtrain/config/production.toml

Dans le [www] section, ajoutez les deux lignes suivantes pour indiquer que mailtrain est derrière le proxy Nginx et faites-le écouter uniquement sur l'adresse de l'hôte local.

hôte="127.0.0.1"proxy=true

Enregistrez et fermez le fichier. Redémarrez ensuite Mailtrain pour que la modification prenne effet.

sudo systemctl redémarre mailtrain

Étape 6 :Activer HTTPS avec Let's Encrypt

Installez le client Let's Encrypt (certbot) sur votre serveur Ubuntu 18.04.

sudo apt install software-properties-commonsudo add-apt-repository ppa:certbot/certbotsudo apt install certbot python3-certbot-nginx

Ensuite, vous pouvez utiliser le plugin Nginx pour obtenir et installer automatiquement un certificat TLS en exécutant la commande suivante.

sudo certbot --nginx --agree-tos --redirect --hsts --staple-ocsp --email votre-adresse-email -d newsletter.votre-domaine.com

Vous pouvez désormais accéder à l'interface Web de Mailtrain via votre nom de domaine et une connexion HTTPS sécurisée.

htop La commande me dit que mon serveur utilise environ 500 Mo de RAM. Si j'exécute Mailtrain avec Docker, c'est environ 900 Mo.

Connectez-vous avec le nom d'utilisateur admin et mot de passe test . Modifiez ensuite l'adresse e-mail et le mot de passe de votre compte. Accédez aux settings page pour modifier les configurations par défaut. Vous devez modifier l'adresse de service de http://localhost:3000/ à votre sous-domaine (https://newsletter.your-domain.com ).

Remarque :Le compte administrateur est une cible facile pour les pirates. Pour une meilleure sécurité, il est recommandé de changer le nom d'utilisateur de admin à autre chose. L'interface Web Mailtrain ne fournit pas une telle option, mais vous pouvez modifier le nom d'utilisateur dans la base de données MariaDB à l'aide de la commande SQL.

Dans les Mailer Settings , vous pouvez utiliser SMTP si vous disposez de votre propre serveur de messagerie ou si vous utilisez Amazon SES. En fait, vous pouvez également utiliser d'autres services de relais SMTP dans le SMTP languette. Dans la capture d'écran ci-dessous, j'utilise mon propre serveur de messagerie. Les e-mails seront soumis sur le port 587 avec le cryptage STARTTLS.

Si Mailtrain est installé sur votre serveur de messagerie, vous devez utiliser les paramètres SMTP suivants. Le nom d'hôte doit être 127.0.0.1 et le port doit être 25. Il n'est pas nécessaire d'activer le chiffrement ou l'authentification lorsque vous parlez à localhost.

Enregistrez vos paramètres. Ensuite, vous pouvez créer une liste pour tester les fonctionnalités de Mailtrain.

Comment gérer les messages de rebond dans Mailtrain

Tôt ou tard, votre liste de diffusion contiendra des adresses auxquelles vous ne pourrez pas envoyer d'e-mails. Par exemple, lorsqu'un abonné qui utilise une adresse e-mail d'entreprise quitte l'entreprise, cette adresse e-mail sera supprimée. Ainsi, votre serveur de messagerie recevra un message de rebond indiquant que l'e-mail ne peut pas être livré.

Si vous utilisez un service de relais SMTP pour envoyer des e-mails, ils géreront les messages de rebond pour vous. Si vous utilisez votre propre serveur de messagerie pour envoyer des e-mails, vous devez gérer les messages de rebond dans Mailtrain. Mailtrain propose deux façons de gérer les messages rejetés.

  • via VERP
  • via le journal Postfix

Personnellement, j'utilise la méthode VERP, car elle est largement utilisée dans la communauté des e-mails et aussi parce que la deuxième méthode entraîne une utilisation élevée du processeur sur mon serveur.

Gestion des rebonds VERP

Avec VERP (chemin de retour d'enveloppe variable), votre gestionnaire de liste de diffusion utilise des adresses d'enveloppe uniques pour chaque abonné. Pour activer VERP, modifiez le production.toml fichier.

sudo nano /var/www/mailtrain/config/production.toml

Si votre hébergeur Mailtrain n'a pas de serveur SMTP en cours d'exécution, ajoutez le texte suivant.

[verp]enabled=trueport=25disablesenderheader=true

Si votre serveur Mailtrain a un serveur SMTP comme Postfix en cours d'exécution, ajoutez le texte suivant. Le serveur de gestion des rebonds écoutera sur 127.0.0.1:2525 .

[verp] enabled=true port=2525 host="127.0.0.1"disablesenderheader=true

Enregistrez et fermez le fichier. Redémarrez ensuite Mailtrain pour que les modifications prennent effet.

sudo systemctl redémarre mailtrain

Dans l'interface Web de Mailtrain, accédez à Settings -> VERP Bounce Handlding . Cochez Use VERP to catch bounces . Enregistrez vos paramètres.

Ensuite, vous devez créer un enregistrement MX pour le nom d'hôte du serveur (bounces.your-domain.com ), puis ajoutez un enregistrement A pour ce nom d'hôte, pointant vers votre hôte Mailtrain, afin que les messages de rebond puissent être envoyés à votre hôte Mailtrain. Chaque abonné de votre liste aura une adresse d'enveloppe unique telle que [email protected] .

Notez que si vous avez déployé l'enregistrement DMARC pour votre nom de domaine, l'alignement SPF doit être défini sur le mode relâché. S'il est défini sur le mode strict, votre newsletter pourrait échouer à la vérification DMARC.

Si le serveur de gestion des rebonds de Mailtrain écoute sur le port 2525 de 127.0.0.1 et que le serveur SMTP de Postfix écoute sur le port 25 de l'adresse IP publique, vous devez configurer la carte de transport afin que Postfix puisse relayer le message de rebond vers Mailtrain. Créez le fichier de carte de transport.

sudo nano /etc/postfix/transport

Ajoutez la ligne suivante à ce fichier. Cela indique à Postfix de relayer les e-mails avec une adresse comme [email protected] au serveur de gestion des rebonds Mailtrain.

rebonds.votre-domaine.com smtp :[127.0.0.1]:2525

Enregistrez et fermez le fichier. Générez ensuite le fichier d'index.

sudo postmap /etc/postfix/transport

Modifier le fichier de configuration principal de Postfix.

sudo nano /etc/postfix/main.cf

Ajoutez la ligne suivante au fichier.

transport_maps =hachage :/etc/postfix/transport

Remarque :Si vous avez utilisé iRedMail pour configurer votre serveur de messagerie, les transport_maps paramètre a d'autres valeurs. Vous devez ajouter la valeur à la fin comme ci-dessous.

transport_maps =proxy:mysql:/etc/postfix/mysql/transport_maps_user.cf proxy:mysql:/etc/postfix/mysql/transport_maps_maillist.cf proxy:mysql:/etc/postfix/mysql/transport_maps_domain.cf hash:/ etc/suffixe/transport

Enregistrez et fermez le fichier. Redémarrez ensuite Postfix pour que le changement prenne effet.

sudo systemctl redémarrer le suffixe

Gestion des messages rejetés via Postfix Log

Cela suppose que Mailtrain est installé sur votre serveur de messagerie.

Mailtrain est capable de détecter les messages rebondis à partir du journal de messagerie de Postfix en trouvant les lignes contenant status=bounced . Tout d'abord, vous devez activer le serveur de lecture des logs de Postfix. Modifiez le production.toml fichier.

sudo nano /var/www/mailtrain/config/production.toml

Ajoutez le texte suivant.

[postfixbounce]enabled=true

Enregistrez et fermez le fichier. Redémarrez ensuite Mailtrain pour que les modifications prennent effet.

sudo systemctl redémarre mailtrain

Maintenant, le serveur de lecture des logs de Postfix écoute sur 127.0.0.1:5699. Pour lui permettre de lire le journal de Postfix, exécutez la commande suivante.

tail -F /var/log/mail.log | nc localhost 5699 -

Pour le faire fonctionner en arrière-plan, vous pouvez créer une unité de service systemd.

sudo nano /etc/systemd/system/bouncetail.service

Ajoutez le texte suivant.

[Unit]Description=Postfix bounce notifierAfter=mailtrain.service[Service]ExecStart=/bin/sh -c '/usr/bin/tail -F /var/log/mail.log | nc localhost 5699 -'Type=simpleRestart=alwaysRestartSec=10[Install]WantedBy=multi-user.target

Enregistrez et fermez le fichier. Ensuite, démarrez ce service et activez le démarrage automatique au démarrage.

sudo systemctl start bouncetailsudo systemctl enable bouncetail

Assurez-vous de redémarrer le service bouncetail après avoir redémarré le service mailtrain. J'ai trouvé que le service de rebond provoque une utilisation élevée du processeur sur mon serveur, donc je n'utilise pas cette méthode.

Mettre à jour

Après avoir utilisé Mailtrain sur mon propre serveur pendant un certain temps, j'ai découvert qu'il s'agissait d'autres raisons qui provoquaient le rebond des e-mails. Ce qui suit sont des rebonds temporaires.

  • La boîte aux lettres du destinataire est pleine.
  • Votre adresse IP est sur une liste noire.
  • Le serveur de messagerie du destinataire est en panne ou hors ligne.

Il y a aussi un rebond dur, c'est-à-dire que l'adresse e-mail du destinataire n'existe pas. Par défaut, Mailtrain désabonne une adresse e-mail si un rebond est détecté, ce qui est bien pour un rebond dur, mais c'est une bonne idée d'autoriser plusieurs rebonds souples avant de désinscrire la mauvaise adresse e-mail. Vous pouvez demander au serveur de messagerie de réception de supprimer votre adresse IP de la liste noire, puis de réinscrire l'adresse e-mail associée.

Téléchargement d'images dans Mailtrain

Pour télécharger des images dans Mailtrain, vous devez installer le imagemagick emballer. Sans cela, Mailtrain risque de générer des erreurs lorsque vous téléchargez des images.

sudo apt install imagemagick

Comment insérer un formulaire d'inscription sur votre site Web

Tout d'abord, vous devez activer le partage de ressources cross-origin. Modifiez le production.toml fichier.

sudo nano /var/www/mailtrain/config/production.toml

Ajoutez la ligne suivante dans le fichier pour ajouter votre site Web à la liste blanche.

[cors]# Autoriser l'intégration des widgets d'abonnementorigins=['https://www.example.com']

Enregistrez et fermez le fichier. Redémarrez ensuite Mailtrain pour que la modification prenne effet.

sudo systemctl redémarre mailtrain

Ensuite, ajoutez le code suivant sur votre site Web pour afficher le formulaire d'inscription. Remplacez le texte en rouge par le nom de domaine Mailtrain et votre propre ID de liste.


Ajoutez ensuite des règles CSS personnalisées pour le rendre plus attrayant visuellement.

Comment créer des utilisateurs supplémentaires dans Mailtrain

Mailtrain v2 permettra à l'administrateur de créer plusieurs utilisateurs avec des autorisations utilisateur granulaires et un partage flexible. Mais avec la version actuelle v.1.24.1, vous pouvez créer des utilisateurs uniquement via la base de données. Connectez-vous à la console MySQL/MariaDB.

sudo mysql -u racine

Utilisez le mailtrain base de données.

UTILISER mailtrain ;

Créez ensuite une entrée utilisateur avec la commande SQL suivante.

INSERT INTO `users` (`username`, `password`, `email`, `access_token`, `reset_token`, `reset_expire`, `created`) VALUES ('votre-nom d'utilisateur',PASSWORD("votre- mot de passe"),'[email protected]',NULL,NULL,NULL,NOW());

Quittez le serveur de base de données.

QUITTER ;

J'ai constaté que les utilisateurs créés de cette manière ne peuvent pas se connecter à l'interface Web Mailtrain la première fois. Les utilisateurs doivent utiliser le lien "Mot de passe oublié" sur la page de connexion pour réinitialiser leur mot de passe, puis la connexion devrait fonctionner. Notez également que tous les utilisateurs disposent d'une autorisation administrative dans l'interface Web de Mailtrain.

Comment importer une liste de diffusion depuis MailChimp

Tout d'abord, vous devez vous rendre dans l'Audience onglet dans votre tableau de bord MailChimp. Cliquez sur View Contacts bouton pour afficher tous les abonnés. Cliquez ensuite sur Export Audience bouton pour exporter votre liste sous forme de fichier CSV.

Accédez ensuite au tableau de bord Mailtrain et sélectionnez votre liste de diffusion. Sélectionnez List Actions bouton déroulant et cliquez sur Import Subscribers .

Dans la page suivante, vous devrez télécharger le fichier CSV téléchargé depuis MailChimp.

Ensuite, vous devez faire correspondre les champs de MailChimp aux champs de votre liste de diffusion Mailtrain. Si certains des champs de MailChimp n'existent pas dans la liste de diffusion Mailtrain, vous pouvez les créer dans le tableau de bord Mailtrain.

Veuillez noter que si vos champs MailChimp contiennent des boutons radio, vous devez également créer des boutons radio dans les champs Mailtrain. Cependant, vous devez segmenter votre liste MailChimp en fonction de la valeur du bouton radio, puis exporter ces segments vers différents fichiers CSV et les importer dans Mailtrain un segment à la fois. En effet, Mailtrain ne fournit pas de moyen de faire correspondre les valeurs de chaque bouton radio de MailChimp.

Cron Job pour nettoyer automatiquement les adresses e-mail désabonnées

Vous pouvez supprimer manuellement les adresses e-mail désabonnées dans le panneau d'administration Web de Mailtrain, mais il est beaucoup plus efficace de les supprimer à l'aide des commandes MySQL/MariaDB, puis il vous suffit de créer une tâche Cron pour automatiser cette tâche.

Tout d'abord, connectez-vous au serveur de base de données MySQL/MariaDB.

sudo mysql -u racine

Connectez-vous ensuite à la base de données mailtrain.

utiliser mailtrain ;

Les informations des abonnés sont stockées dans le subscription les tables. Si vous avez plusieurs listes de diffusion, alors vous aurez plusieurs subscription les tables. Vous pouvez lister toutes ces tables en utilisant la commande SQL suivante.

afficher des tableaux comme 'subscription%' ;

Sortie sur mon serveur.

+--------------------------------------------------+| Tables_in_mailtrain (abonnement%) |+--------------------------------------------------+| abonnement || abonnement__1 || abonnement__2 |+------------------------------------------+

La première table est une table vide. J'ai deux listes dans Mailtrain. Ils sont stockés dans subscription__1 et subscription__2 table. Les adresses e-mail abonnées ont un code d'état défini sur 1 . Les adresses e-mail désabonnées ont un code d'état défini sur 2 . Ainsi, pour supprimer les adresses e-mail désabonnées, vous pouvez exécuter les commandes SQL suivantes.

SUPPRIMER DE l'abonnement__1 où statut ='2';SUPPRIMER DE l'abonnement__2 où statut ='2';

Pour quitter le serveur de base de données MySQL/MariaDB, exécutez

quitter ;

Ouvrez maintenant le fichier crontab de l'utilisateur root.

sudo crontab -e

Ajoutez les deux lignes suivantes.

# Supprimer les adresses e-mail désabonnées de la liste de diffusion daily@daily /usr/bin/mysql -u root mailtrain -Bse "DELETE FROM subscription__1 where status ='2';DELETE FROM subscription__2 where status ='2';" 

Enregistrez et fermez le fichier. Et vous avez terminé.

Comment exporter vos listes de diffusion dans Mailtrain

Il n'y a pas de bouton d'exportation dans le panneau d'administration de Mailtrain. Cependant, si vous avez installé phpMyAdmin sur le serveur, vous pouvez exporter vos listes de diffusion à partir de là. Sélectionnez la base de données mailtrain dans phpMyAdmin, puis sélectionnez la table qui stocke vos listes de diffusion. Dans mon cas, le subscription__1 et subscription__2 les tables stockent les informations des abonnés.

Cliquez ensuite sur export bouton pour enregistrer le tableau sous forme de fichier. Notez qu'il y a 2 boutons d'exportation. Vous devez cliquer sur le deuxième bouton d'exportation pour exporter l'intégralité du tableau. Le premier bouton d'exportation n'exportera que les enregistrements actuellement visibles dans la table.

Ensuite, vous pouvez choisir le format de fichier pour le fichier d'exportation. Enfin, cliquez sur le bouton Go.

Comment masquer la page d'accueil de Mailtrain

Si vous ne voulez pas que les visiteurs voient votre page d'accueil mailtrain, vous pouvez configurer une redirection permanente 301 pour rediriger les visiteurs vers la page d'accueil de votre site Web, en ajoutant le code suivant dans le fichier de configuration Nginx de Mailtrain.

location =/ { return 301 http://www.votre-domaine.com;}

Enregistrez et fermez le fichier. Rechargez ensuite Nginx pour que la modification prenne effet.

sudo systemctl recharger nginx

Vous devez vous souvenir de l'URL de connexion Mailtrain.

https://newsletter.votre-domaine.com/users/login

Par défaut, le bouton de connexion vous redirigera vers la page d'accueil de Mailtrain, vous devez donc vous souvenir d'une autre URL.

https://newsletter.votre-domaine.com/listes

Cela vous permet de gérer vos listes et d'autres éléments dans le tableau de bord.

Comment insérer des options sur le formulaire d'inscription

Si vous souhaitez proposer des options au visiteur sur le formulaire d'inscription, vous devez créer des champs personnalisés. Accédez à votre liste et sélectionnez custom fields dans la List Actions menu déroulant et créer un champ personnalisé.

Tout d'abord, vous devez créer un champ qui deviendra la question d'en-tête de la liste d'options. Dans Field Type , vous pouvez sélectionner le radio button (pour un choix unique) ou checkboxes (pour plusieurs choix). Dans Group , ne sélectionnez rien, car ce champ deviendra un groupe pour les options.

Créez ensuite un champ personnalisé pour chaque option. Vous devez choisir l'option option for a group value dans Field Type , et choisissez le nom de fichier personnalisé précédent dans Group .

Comment modifier le type de champ

Par défaut, l'interface Web Mailtrain ne vous permet pas de changer le type de fichier, mais vous pouvez le changer dans la base de données mailtrain. Par exemple, je dois changer un type de champ de checkboxes au radio button .

Je recommande de sauvegarder la base de données avant de modifier quoi que ce soit dans la base de données. Vous pouvez exécuter la commande suivante pour sauvegarder la base de données mailtrain.

sudo mysqldump -u root mailtrain> mailtrain.sql

Connectez-vous ensuite au serveur de base de données MariaDB.

sudo mysql -u racine

Utilisez le mailtrain base de données.

UTILISER mailtrain ;

Tous les champs personnalisés sont stockés dans le custom_fields table. Vous pouvez vérifier son contenu avec :

SELECT * FROM champs_personnalisés ;

Recherchez le champ personnalisé que vous souhaitez modifier et exécutez la commande SQL suivante pour modifier son type. Remplacez le numéro d'identification par le vôtre.

UPDATE custom_fields SET type ='radio' Où id =3 ;

Quittez le serveur de base de données.

QUITTER ;

Comment nettoyer votre liste de diffusion dans Mailtrain

Les abonnés non engagés ne vous rapporteront pas d'argent et parce qu'ils n'ouvrent pas votre e-mail, les fournisseurs de boîtes aux lettres réduiront la réputation de votre domaine. Pour vous assurer que vos futurs e-mails arriveront dans la boîte de réception, vous devez supprimer les abonnés non engagés de votre liste de diffusion.

Vous pouvez créer un segment pour les personnes qui n'ont pas ouvert votre e-mail au cours des 60 derniers jours, puis supprimer leurs adresses e-mail. La règle pour ce segment est la suivante :


Ubuntu
  1. Ubuntu – X11 sur serveur sans transfert ?

  2. Installer le serveur 18.04 sans connexion réseau ?

  3. Installer Ubuntu 12.04 sans installer Grub ?

  4. Installation de Docker (Ubuntu)

  5. Comment installer MariaDB sur Ubuntu 22.04

Installez l'application de newsletter auto-hébergée Mailtrain sur le serveur Ubuntu 16.04

Installez Mailtrain v1.24 sur le serveur Ubuntu 20.04 sans Docker

Comment installer Mailtrain sur Ubuntu 18.04 avec Docker

Installer le logiciel Discourse Forum sur Ubuntu 18.04 sans Docker

Erreur lors de l'installation d'Ubuntu Server 18.04 :nom de pool invalide ?

Installation de Gitea – Un serveur Git auto-hébergé sur Ubuntu 22.04 LTS