2 votes

Joomla : L'envoi de courrier prend du temps

J'ai un site web Joomla en place et j'ai besoin de mettre en place un formulaire de contact simple.

Le problème est que, chaque fois que Joomla essaie d'envoyer un courriel, la page se bloque pendant environ une minute avant que j'obtienne une réponse. L'e-mail est finalement bien envoyé, mais le délai est beaucoup trop important. J'ai essayé de définir le paramètre de courrier sortant sur PHP Mail, Sendmail et un serveur SMTP, tous avec le même effet.

Curieusement, si je modifie components/com_contact/controllers/contact.php et remplace les lignes qui envoient le courrier par un simple appel à mail(), tout fonctionne bien.

J'utilise Joomla 1.6.5, CentOS5 avec PHP 5.3.

Quelqu'un a-t-il fait l'expérience de quelque chose de similaire ? Merci d'avance !

(De plus, est-ce un cas pour StackOverflow ou ServerFault ? Cela semble limite !)

Mise à jour de : Le problème est dû au fait que PHPMailer utilise uniqid pour générer ses chaînes de délimitation. Il semble que sur certaines plateformes, uniqid (sans l'option more_entropy) soit extrêmement lent.

Si quelqu'un d'autre rencontre le même problème, éditez libraries/phpmailer/phpmailer.php et dans les premières lignes de la fonction CreateHeader(), passez true comme deuxième argument de uniqid(). Cela semble avoir réglé le problème.

3voto

NathanGaskin Points 898

J'ai trouvé que PHPMailer utilisait uniqid pour générer ses chaînes de délimitation. Il semble que sur certaines plateformes, uniqid (sans le drapeau more_entropy) soit extrêmement lent.

Si quelqu'un d'autre rencontre le même problème, éditez libraries/phpmailer/phpmailer.php et dans les premières lignes de la fonction CreateHeader(), passez true comme deuxième argument de uniqid(). Cela semble avoir réglé le problème.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X