PHP / pear -> envoi de mail par SMTP

WRInaute passionné
Bonjour

Suite de mon problème d'envoi de mail par php, déjà décrit précédemment
https://www.webrankinfo.com/forum/t/web-chez-ovh-smtp-chez-gandi-envoi-de-mails-impossible.96437/

résumé :

- mon site php hébergé sur un 90 plan de chez OVH
- mon serveur smtp chez Gandi

- Mon site fonctionne perfecto
- l'envoi de mails par smtp fonctionne parfaitement quand je fonctionne depuis un PC avec un client mail type outlook express, thunderbird.

- Impossible d'envoyer le moindre mail smtp depuis php

J'ai essayé le script php suivant trouvé sur http://email.about.com/od/emailprogramm ... 073006.htm

Code:
<?php
require_once "Mail.php";

$from = "Sandra Sender <sender@example.com>";
$to = "Ramona Recipient <recipient@example.com>";
$subject = "Hi!";
$body = "Hi,\n\nHow are you?";

$host = "mail.example.com";
$username = "smtp_username";
$password = "smtp_password";

$headers = array ('From' => $from,
  'To' => $to,
  'Subject' => $subject);
$smtp = Mail::factory('smtp',
  array ('host' => $host,
    'auth' => true,
    'username' => $username,
    'password' => $password));

$mail = $smtp->send($to, $headers, $body);

if (PEAR::isError($mail)) {
  echo("<p>" . $mail->getMessage() . "</p>");
 } else {
  echo("<p>Message successfully sent!</p>");
 }
?>

et là je tombe sur l'erreur suivante :
Code:
authentication failure [SMTP: SMTP server does no support authentication (code: 250, response: 8.mail-out.ovh.net PIPELINING STARTTLS 8BITMIME SIZE 0)]

d'un autre côté, quand je remplace
(...)
'auth' => true,
(...)

par
'auth' => false,

alors, le code d'erreur change et devient

Code:
Failed to send data [SMTP: Invalid response code received from server (code: 451, response: qq crashed (#4.3.0))]

Bon, je ne suis pas spécialiste, mais d'après ce que j'ai pu voir ici et là, serait il possible que la classe pear Mail soit absente par défaut chez 90 plan OVH ??

ou sinon, comment faire....?? au moins pour voir si cette classe est présente ou pas.

merci de votre aide
 
WRInaute passionné
suite discussion sur le chat, je précise que j'ai remplacé

$host = "mail.example.com";
$username = "smtp_username";
$password = "smtp_password";

etc

par les valeurs qui fonctionnent sous outlook
 
WRInaute passionné
si ton problème est lié à la "masse" d'envoi, pourquoi ne pas concerver un envoi par php mais en découpant par paquets et envoi par cron ?
 
Discussions similaires
Haut