Envoi de mails

Eléphant du PHP | 396 Messages

17 avr. 2008, 17:12

Bonjour à tous,

J'ai hésité à mettre ce topic dans la rubrique PHP... bref

Je voulais avoir des retours d'experience sur de l'envoi de mails.
Je dois mettre en place un système d'envoi d'emails à la volée (derrière une liste de checkbox). Chaque email sera accompagné d'un PDF produit à la volée lui aussi via la classe FPDF.
Je précise que c'est de l'emailing tout ce qu'il y a de plus correct (envoi d'identifiants à des abonnés entre autre), pas du spam.

Je suis en train de tester l'envoi des emails avec la classe PHPMailer et je me pose la question des performances et des limites au niveau du quantitatif.
Je me demande combien je suis censé pouvoir envoyer d'emails si je laisse à 30 secondes le max_execution_time.

J'ai testé sans le PDF, j'ai reussi à en envoyer dans les 180.
Avec le PDF, 120 à peu près.
Etant donné que le nombre possible d'envoi peut atteindre un chiffre bien plus important (500 voir plus), je voulais savoir si il est possible (en optimisant au maximum, en connaissant certaines "astuces") d'atteindre ce nombre ou si ce n'est même pas la peine d'y penser? Peut-être avec une autre classe que PHPMailer? Ou directement avec mail() je ne sais pas...

Merci d'avance pour vos temoignages.

ViPHP
ViPHP | 3300 Messages

17 avr. 2008, 18:42

le max execution time est la pour prévenir en cas de bug, dans ton cas il ne s'agit pas d'un bug mais d'une fonctionalité (tient j'ai déja entendu ça quelquepart) tu peux déjà l'enlever en partant du principe qu'il peut s'avérer génant pour un fonctionement "normal"
Fait du php depuis que ca existe ou presque :)

Eléphant du PHP | 396 Messages

17 avr. 2008, 19:15

Il est vrai que je peux m'affranchir du problème en augmentant max_execution_time car je suis sur mon serveur.

Je suis par contre toujours preneur de vos expériences et conseils :merci:

ViPHP
ViPHP | 3300 Messages

17 avr. 2008, 20:18

pour le reste si tu veux rendre ton code plus rapide ca tient de l'algorithmie et de certains trucs et astuces du langage (genre des simples quote au lieu des double quote), je crois qu'avec ton code on pourrait mieux répondre.

Ah aussi, augmenter ton max_execution_time c'est augmenter ta tolérance à l'erreur, ca n'est pas satisfaisant, ce qu'il faut c'est supprimer le max_execution_time pour ce script particulier, comme je l'ai dit plus haut ce n'est qu'une mesure de sécurité pour éviter de planter ton serveur ce qui arrive uniquement avec des boucles infinies et autre erreur de récursivité, donc tu peux y aller franchement à mon avis.
Fait du php depuis que ca existe ou presque :)

Eléphant du PHP | 396 Messages

17 avr. 2008, 21:44

Oui oui, je comptais modifier le max_execution_time uniquement pour ce script avec init_set() et non pas pour le serveur ;)

Après effectivement je vais optimiser au maximum mon script mais je cherchais des avis sur vos expériences en la matière, des erreurs à éviter etc...