Envoi d’emails en masse (Créer un compte)

  • Statut : non résolu
15 sujets de 1 à 15 (sur un total de 15)
  • Auteur
    Messages
  • #545664
    EmmaJung
    Participant
    Chevalier WordPress
    149 contributions

    Bonjour,

    Je suis le webmestre d’une association familiale, et nous voulons envoyer des informations personnalisées à nos 750 adhérents.

    Je sais générer des emails contenant les informations personnelles, mais mon hébergeur impose une limite horaire et journalière à l’envoi de mails.

    Sauriez-vous me conseiller pour “ralentir” l’envoi, comme le font MailPress ou MailPoet par exemple ? (je ne peux pas les utiliser pour cet envoi très spécifique, avec des pièces jointes personnalisées).

    Merci de vos conseils et de votre aide,

    #988586
    didier07
    Participant
    Maître WordPress
    1965 contributions

    Tu peux le faire avec PHPList qui est une appli dédiée aux envoie de mails.

    #988587
    Aphrodite
    Participant
    Maître WordPress
    4750 contributions

    le mieux pour etre sur que les mails arrivent effectivement et pas dans les boites a spam est d’utiliser des services externes genre mailjet ou mailchimp… c’est gratuit jusqu’a un certain niveau (750 adresses ca passe) et au moins c’est fiable.

    Sinon c’est la meilleure solution pour que ton domaine soit rapidement considéré comme “spammeur”….

    #988588
    EmmaJung
    Participant
    Chevalier WordPress
    149 contributions

    @didier07 et @Aphrodite

    Merci pour vos retours. Pouvez-vous m’expliquer comment utiliser ces services (ou m’indiquer un lien) ?

    Je génère les emails dans une boucle sur les users où je récupère des infos perso et des fichiers PDF. J’arrive donc pour chaque membre à quelque chose comme : wp_mail ( $address, $object, $message,’Content-type: text/html’, $attachments).

    Est-ce que je peux transférer ces infos (via un $array ?) à un tel service qui se chargerait de les envoyer pour moi ?

    Merci de vos compléments.

    #988589
    didier07
    Participant
    Maître WordPress
    1965 contributions

    Les infos sont les memes pour tout le monde (à part les infos persos connues à l’avance ou pas) ?

    Lien PHPList http://docs.phplist.com/FrenchDocumentation.html

    #988590
    EmmaJung
    Participant
    Chevalier WordPress
    149 contributions

    Non, justement, ce n’est pas une newsletter classique :
    – le texte de chaque mail est différent (il s’agit de la composition de la famille et du cousin responsable de la mise à jour pour sa branche),
    – les pièces jointes aussi sont chaque fois différentes (la fiche familiale et les fiches individuelles des parents, du conjoint et des enfants, lorsqu’elles existent).

    Je génère donc, dans la boucle, un mail spécifique (unique) pour chacun des adhérents.

    C’est pour ça que je ne peux pas utiliser MailPress ou MailPoet (ou tout autre plugin de newsletter) que j’utilise d’habitude pour envoyer les newsletters.

    #988591
    didier07
    Participant
    Maître WordPress
    1965 contributions

    La tu as 2 solutions :
    – Soit ton hébergeur est conciliant et il stocke les mails pour les envoyer par paquets de 100
    – Si tu as un cron possible sur le serveur, et tu programme ton cron en utilisant les options wp, de manière à ne prendre que les utilistaeurs entre 1 et 100, puis 101 et 200 etc..
    – Sinon, tu attends que quelqu’un vienne pour déclencher les boucle suivante. Tu envoies 100 mails, et quend quelqu’un vient sur le site il te déclenche l’envoie des 100 suivants. Avec 100 maila parti, tu aura un visiteur rapidement derrière je pense 🙂

    Didier

    #988592
    EmmaJung
    Participant
    Chevalier WordPress
    149 contributions
    didier07 wrote:
    – Si tu as un cron possible sur le serveur, et tu programme ton cron en utilisant les options wp, de manière à ne prendre que les utilisateurs entre 1 et 100, puis 101 et 200 etc..
    – Sinon, tu attends que quelqu’un vienne pour déclencher les boucle suivante. Tu envoies 100 mails, et quand quelqu’un vient sur le site il te déclenche l’envoie des 100 suivants.

    Voilà qui me plairait bien ! Je ne suis pas très pressé pour envoyer les messages.
    Par contre je ne sais pas comment faire ?

    #988593
    didier07
    Participant
    Maître WordPress
    1965 contributions

    Il faut jouer sur les options, mais ca demande un peu d’organisation 😳

    – Une option pour savoir quel est le dernier utilisateur à avoir recu le mail
    – Une remise à 0 pour déclencher les envois à chaque nouveau mail
    – Un test pour savoir s’il faut envoyer des mails

    Le tout dans un plugin :fire:

    Et la je me fait jeter :fouet:
    😗

    #988594
    EmmaJung
    Participant
    Chevalier WordPress
    149 contributions

    @didier07
    Bon, je ne vais pas te jeter …
    Mais je n’imagine pas comment faire ce dont tu parles, c’est un peu du chinois pour moi.
    Peux-tu me guider stp ?

    #988595
    didier07
    Participant
    Maître WordPress
    1965 contributions

    J’ai la méthode en tête, mais pour les détails il faut que je m’y penche de plus près 🙂

    #988596
    EmmaJung
    Participant
    Chevalier WordPress
    149 contributions

    Je réfléchis tout haut, et partage avec toi :

    1 – une tâche CRON qui exécute une fonction send_my_mail() toutes les heures

    2 – une fonction send_my_mail() qui :
    – met à 0 un compteur d’envois
    – fait une boucle sur les users,
    – – Vérifie dans la BdD si le mail a déjà été envoyé au user, si non :
    – – – compose et envoie le mail au user
    – – – enregistre dans la BdD “mail envoyé” pour le user
    – – – incrémente le compteur d’envois
    – – – break si compteur = max_per_hour
    – – Fin de vérifie
    – Fin de boucle

    Qu’en penses-tu ?

    #988597
    didier07
    Participant
    Maître WordPress
    1965 contributions
    EmmaJung wrote:
    Je réfléchis tout haut, et partage avec toi :

    1 – une tâche CRON qui exécute une fonction send_my_mail() toutes les heures

    2 – une fonction send_my_mail() qui :
    – met à 0 un compteur d’envois
    – fait une boucle sur les users,
    – – Vérifie dans la BdD si le mail a déjà été envoyé au user, si non :
    – – – compose et envoie le mail au user
    – – – enregistre dans la BdD “mail envoyé” pour le user
    – – – incrémente le compteur d’envois
    – – – break si compteur = max_per_hour
    – – Fin de vérifie
    – Fin de boucle

    Qu’en penses-tu ?

    La logique y est 🙂

    Pour gagner du temps, je dirais : Une mise à 0 (manuelle ou par un bouton dans ton admin) à chaque fois que tu veux envoyer un mail

    Une option ‘dernier_user_envoye’ = xx, qui te donne le dernier user qui a reçu le mail
    Une boucle sur les ids des users de dernier_user_envoye+1 à dernier_user_envoye+100
    En fin de boucle, mettre à jour le dernier_user_envoye

    Il faut faire attention à des détails comme le fait que tu auras peut-etre pas 100 mails par paquets si tu as des trous dans tes user_id, mais au moins, tu n’en aura jamais plus 🙂

    #988598
    EmmaJung
    Participant
    Chevalier WordPress
    149 contributions

    En fait, ma boucle est une boucle BuddyPress, donc dans l’ordre de dernière activité (et pas dans l’ordre des user_id).

    Comme l’ordre de dernière activité change au fil du temps, je vais quand même enregistrer et vérifier si le mail a été envoyé.

    C’est vrai que pour un si petit nombre d’envois, et vu que je ne suis pas très pressé, je n’ai pas besoin de créer une tâche cron : je peux bien le faire manuellement.

    Merci beaucoup pour cet échange et pour tes conseils, et longue vie à VitiCreation !

    #988599
    didier07
    Participant
    Maître WordPress
    1965 contributions
    EmmaJung wrote:
    Comme l’ordre de dernière activité change au fil du temps, je vais quand même enregistrer et vérifier si le mail a été envoyé.

    C’est sur 🙂

    EmmaJung wrote:
    Merci beaucoup pour cet échange et pour tes conseils

    De rien. Ca fait plaisir de voir que tu progresses aussi 🙂

    EmmaJung wrote:
    et longue vie à VitiCreation !

    J’espère 🙂

15 sujets de 1 à 15 (sur un total de 15)
  • Vous devez être connecté pour répondre à ce sujet.