OVH Community, votre nouvel espace communautaire.

Envoi de mails depuis un script PHP


yadol
29/03/2014, 16h18
Tu as essayé d'utiliser le SMTP gmail à la place de celui d'OVH ? J'ai essayé et ça semble fonctionner.

hichtibidi
29/03/2014, 10h58
Bonjour Yadol,
J'ai posé cette question directement au service technique, qui m'ont assuré que non, la limite des 100 emails/heure n'était pas mutualisée. (Je doute quand meme fortement de la réponse mais bon)

Je n'ai malheureusement pas trouvé de solution, et je suis passé à autre chose. Mon mailing concernait environ 100 personnes, donc en essayant en chaîne pendant 3jours, tous mes mails ont fini par passer...

yadol
29/03/2014, 10h44
Bonjour. Concernant le problème "555 : too many emails" en utilisant le SMTP OVH, j'ai également eu le problème. D'après ma compréhension, le filtrage à 100 emails/heure est basé sur une adresse IP, et lorsqu'on utilise un hébergement mutualisé, c'est l'IP de la gateway qui est utilisée pour ce filtrage. Or, la gateway est utilisée par plusieurs clients, ce qui fait qu'au final on atteint très vite le quota... Quant à une solution utilisant phpmailer qui fonctionnerait de la même façon que mail(), j'aimerai bien la connaitre aussi. Il semble qu'utiliser qmail soit en partie une solution, mais pas satisfaisante d'après tes dires.

hichtibidi
15/01/2014, 15h57
Bonjour à tous.
Après 2 jours de recherches, essais, contact avec le "service technique", je m'en remet à vous.

Je suis sur une offre perf2014x1, qui, de part la description de l'offre, me permet d'envoyer 100emails/heure (ce qui est suffisant pour mes besoins).
Je souhaite envoyer ces emails via un script PHP, en mode SMTP (la fonction mail() tombant trop souvent dans le spam folder, et de toute façon, recevoir un mail "from xxxxx@xxx via xx.mail-out.ovh.net" ca ne fait pas sérieux).

Donc j'utilise phpmailer, et d'après les docs d'OVH (datant surement d'un ancien temps), je vois qu'il y a 2 methodes pour le SMTP :
- Le SMTP-Auth
- Open SMTP avec connexion en POP3 au préalable.

J'ai donc testé la première solution, très simplement

Code PHP:
$mail = new PHPMailer();
$mail->IsSMTP();
$mail->SMTPAuth  true;
$mail->Host  SMTP_HOST;
$mail->Port  SMTP_PORT;
$mail->SMTPDebug 1
$mail->Username      SMTP_CONTACT_USERNAME;
$mail->Password      SMTP_CONTACT_PASSWORD;
$mail->SetFrom(MAIL_CONTACT_FROM_EMAILMAIL_CONTACT_FROM_NAME);
$mail->AddReplyTo(MAIL_CONTACT_FROM_EMAILMAIL_CONTACT_FROM_NAME); 
J'arrive bien à envoyer totalement aléatoirement des emails, mais 90% de temps je reçois l'erreur : "555 : too many emails"
(Je précise que je reçois cette erreur après l'envoi de 2 emails, je suis donc loin d'avoir dépassé les quotas)

J'ai donc essayé la méthode avec connexion préalable en POP
Code PHP:
$pop = new POP3();
if (
$pop->Authorise(POP3_HOSTPOP3_PORT30SMTP_CONTACT_USERNAMESMTP_CONTACT_PASSWORD1))
{
    
$mail = new PHPMailer();
    
$mail->IsSMTP();
    
$mail->Host          SMTP_HOST;
    
$mail->Port          SMTP_PORT;

Et je reçois là une erreur d'identification sur le SMTP, comme si "l'autorisation" suite à la connexion en POP n'avait pas eu lieu.

Dans les deux cas, les identifiants sont bien les bons, les inclusions de classe aussi (je ne le met pas ici pour ne pas surcharger)

Au détour de multiple forums, j'ai trouvé une "solution" qui consiste à remplacer
Code PHP:
$mail->IsSMTP(); 
par
Code PHP:
$mail->IsQmail(); 
En effet, cette solution fonctionne, mais je reçois le mail en moyenne 2 heures après, et j'ai les entêtes des redirection "via xx.mail-out.ovh.net", donc totalement équivalent à la fonction mail();

Est-ce qu'une personne a déjà été confronté à ce problème, et réussi à s'en sortir dans passer par un service tiers ?
Le contact "technique" n'ayant réussi qu'à me dire que j'avais dû être hacké (ok...) ou qu'ils pouvaient ouvrir une enquête pour 20€ HT (dont je n'ai aucune garantie que quelqu'un fasse quelque chose vu leurs délais et la qualité de leurs réponses).

Merci d'avance pour votre aide, vos pistes, hypothèses,....