8768 sujets

Développement web côté serveur, CMS

Bonjour,

J'utilise sur un mutu OVH la class Mail de PEAR et en développement je prends un warning :

Strict Standards: Non-static method Mail::factory() should not be called statically in /home/monsite/Mon_Envoi_Mail.php on line 307

Cette erreur est documentée par PEAR:

Change line 74 of Mail.php from:

function &factory($driver, $params = array())
to:
static function &factory($driver, $params = array())

Cela dit, étant sur un serveur mutualisé, il me semble que je n'ai pas accès à Mail.php

J'ai demandé au support OVH qui me répond que Mail.php est chez moi mais je ne le vois pas sur mon FTP.

J'ai un dossier Mail avec mime.php et mimePart.php.

Si quelqu'un comprend le problème merci d'avance.
Sur un mutualisé tu n'as pas accès à la racine du serveur. Donc, je vois mal comment tu pourrais le voir. Vue que c'est un mutualisé. Tu partages le serveur avec d'autre personnes.

Si tu veux gérer plus en profondeur, il faut prendre un serveur dédié ou un VPS. Là, tu peux bidouiller...
Modifié par Tintin75 (21 Apr 2016 - 15:40)
Bonjour,

Merci de ta réponse.

Ok mais ce qui m'étonne c'est que quand je demande à OVH de mettre à jour Mail.php, ils me répondent que le script est chez moi.

J'aimerais juste pourvoir leur dire : non, c'est chez vous, faites quelque chose.

Ma question est de savoir si Mail.php existe dans PEAR et est au niveau serveur (en cas de Mutu ou autre).
Salut,

En effet, ils faut qu'ils mettent à jour leur package PEAR mais comme PEAR est presque mort, ils ne le feront sans doute pas...

Pourquoi utilises-tu PEAR::mail ?

Tu devrais sans doute utiliser une librairie plus récente et moderne telle que swiftmailer ou PHPmailer qui sont maintenue et tu n'es pas dépendant de librairies gérées par ton hébergeur...
J'oubliais, tu as essayé de l'appeler de manière dynamique ? Ça te renvoie une erreur ou pas ?
Autrement tu peux ajouter un "@" devant Mail::factory(), tu auras l'erreur, mais elle en sera pas affichée...
Bonjour,

Merci de tes réponses.

J'utilise PEAR car c'est encore recommandé sur, le site officiel php.net.

Sur la fiche de la fonction mail () :
Note:
Si vous prévoyez d'envoyer des mails HTML ou autrement plus complexes, il est recommandé d'utiliser le paquet PEAR » PEAR::Mail_Mime.

Cela dit, je veux bien changer, sachant qu'il faut des mails en html et des pièces jointes.
Entre swiftmailer ou PHPmailer :
1) Le plus fiable ?
2) Le mieux sécurisé ?
3) La plus facile à installer ?

Autrement je vais essayer l'appel dynamique, je te tiens au courant.
@ est inutile car en production les erreurs ne sont pas affichées.
Salut,
La doc officiel de PHP recommande PEAR lorsque tu veux envoyer des mails complexes ou en HTML par rapport à la fonction mail() très basique.
Cependant, je ne suis pas certain que ce paquet PEAR soit encore beaucoup utilisé, mais je me trompe peut-être.

swiftmailer est TRES complet et peut se révéler un peu complexe à paramétrer, c'est celui- que j'utilise
PHPmailer est très simple à prendre en main tout en restant super fiable.
Je t'orienterai donc plus vers PHPMailer.
Un coup de Composer, le chargement de l'autoload de Composer, un paramétrage de PHPMailer et hop ça roule !
Je te conseille vivement de passer par un envoi via SMTP.
Bonjour,

Je viens d'installer PHPMailer, c'est effectivement facile et mes tests passent sans encombre.

Je veux envoyer des mails SMTP :

$mail->isSMTP();
$mail->Host = 'ssl0.ovh.net'; 


J'ai démandé à OVH si l'adresse host est correcte pour SMTP.

$mail->SMTPSecure = 'tls';          // Enable TLS encryption, `ssl` also accepted
$mail->Port = 587;


Si je remplace tls par ssl j'ai un message d'erreur :
Message could not be sent.Mailer Error: SMTP connect() failed. https://github.com/PHPMailer/PHPMailer/wiki/Troubleshooting

Là je ne comrprends pas trop.
Bonjour,

J'ai mis en production PHPMailer, version 5.2.13.
Envois SMTP.

Le début est inquiétant.

Les temps de réponses sont beaucoup plus importants qu'avec PEAR et je ne reçois pas tous les mails en copie cachée qui me sont envoyés.

J'espère que cela va s'arranger avec le temps...

Pas d'incompatibilité connue de PHPMailer avec OVH sur Mutu ?

Je vais poser la question au "support" OVH.