Mail PHP sur VPS
BMPCreated with Sketch.BMPZIPCreated with Sketch.ZIPXLSCreated with Sketch.XLSTXTCreated with Sketch.TXTPPTCreated with Sketch.PPTPNGCreated with Sketch.PNGPDFCreated with Sketch.PDFJPGCreated with Sketch.JPGGIFCreated with Sketch.GIFDOCCreated with Sketch.DOC Error Created with Sketch.
question

Mail PHP sur VPS

Par
Jean-MichelK
Créé le 2017-01-09 12:25:42 (edited on 2024-09-04 12:25:52) dans E-mails et solutions Office

Bonjour,

je cherche ici une confirmation.
Je travaille sur une maquette d'un produit. C'est en Debian 8/Apache2/PHP/MySql/NodeJS, donc du classique. Le tout sur la première offre VPS à 2.99€. Je suis content du résultat et je suis en finalisation de ma maquette. Comme je viens du monde Windows, je découvre et je tâtonne sur certains sujets.

Voilà ma problématique:
Je cherche à gérer quelques mails, création de compte, récupération mot de passe, etc via PHP.
Pour l'instant, c'est du test je n'ai pas besoin de beaucoup d'envoie (maximum 10 par heure pour mes tests).
J'ai copié un script PHP d'envoie mail tout simple. Ça ne fonctionne pas, j'ai bien regardé les forums et aides en ligne et je ne trouve pas la solution.
Mon intuition est que sur VPS nous ne sommes pas autorisé à utiliser cette fonction, je me trompe?
Si c'est le cas, sur quel niveau d'offre minimum faut'il aller? Ce n'est pas clair pour moi.

Sinon, quelqu'un à un tutoriel de mail PHP sur VPS pour petits envoie de mail?
Bonus, quand le site tourne vers quel offre se tourner pour envoyer mail en masse?

Merci de vos réponse.


17 réponses ( Latest reply on 2017-01-18 13:44:50 Par
Jean-MichelK
)

Bonjour,

question bête : avez-vous installé un serveur mail pour que le VPS soit capable d'envoyer des mails ?

Cordialement, janus57

Il n'y a pas de question bête. Ma réponse le sera peut-être.
Ben non! J'ai bien installé un serveur mail sur un autre serveur dédié mais rien sur celui-là. Justement il gère les mails du domaine de mon site.

Pour être clair, je n'ai pas trouvé de guide ici sur le site d'OVH sur le sujet. Et pour ce qui est des tutos sur internet aucune ne m'a inspiré confiance.
Je vais creuser, sauf si une âme généreuse m'envoie sur un bon tuto VPS OVH.

Bonjour,

il n'y a pas de tuto spécifique VPS vu que VPS == bout de dédié donc c'est pareil que sur un dédié.

**EDIT :**
L'autre solution pour ne pas avoir à installer un serveur mail est d'envoyer les mails via SMTP (PHPMailer permet de le faire simplement) en utilisant votre autre serveur.

Cordialement, janus57

Bonjour,

merci pour votre réponse.
Je vais regarder comment faire, PHPMailer semble la solution vu que j'ai déjà le serveur mail avec le domaine. J'ai mis ça en place il y'a plus d'un an.

Je mettrai un retour quand cela sera fonctionnel et je vais aller voir si je trouve des tutos sur les dédié.

Je doit pas être doué, ça ne fonctionne toujours pas.
J'ai installé du Postfix comme sur des exemples.
Le mail retourne bien le code de retour, donc valide. Mais rien à l'arrivée.
Configuré le smtp pour pointer sur celui d'OVH.

J'ai bien fouillé le site d'OVH, je ne voie pas de tutoriel d'installation de mail sur VPS.
Quelqu'un a un quelque chose, une piste, un tuto?

Sinon je vais sonner chez pour une assistance OVH. Mais je sent que c'est normalement tellement trivial que ça doit marcher même sans tuto, non?

Ce n'est pas une bonne idée d'utiliser le smtp d'ovh.
Ton serveur est capable d'envoyer des mails tout seul.

Essaye de tester avec 1tester.comtester.com

Bonjour,

soit vous utilisez SMTP dans vos script PHP et votre SMTP qui gère vos mails.

Soit vous laisser le VPS gérer les envoie de mails.

Mais en aucun cas il faut installer postfix ou autre pour ensuite lui dire de tout envoyé vers les SMTP de OVH.

Cordialement, janus57

Bonjour,

merci de vos réponse.
Alors je suis arrivé à une solution:
- sur le VPS je met en base de donnée MySql la demande d'envoie d'Email,
- sur un serveur dédié ou j'héberge mon serveur mail, un programme en C# viens lire cette base et envoie via un SMTP l'Email.

C'est une usine à gaz mais au moins ça fonctionne.

Ce que j'aurais aimé faire c'est que l'Email parte directement via une commande PHP.
Je suis toujours preneur du moindre tutoriel de mise en place mail PHP sur un VPS. J'ai beau fouiller le site d'OVH, pas de trace! Même en élargissant au serveur dédie, rien ...

Je suis idiot ou j'ai vraiment raté quelque chose de trivial?

Bonjour,

pourquoi ne pas envoyez le mail par SMTP directement via PHP dans ce cas ??

Cordialement, janus57

J'aimerai bien :) Cela serait la bonne solution.
J'ai le code retour qui est OK mais rien n'arrive dans la boite de destination.
Je m'appuie sur quelques tutoriaux sur le net, ils se contredisent sur la façon de faire et je n'arrive pas à trier le grain de l'ivraie.
Et, je le répète, 0 tuto sur le site d'OVH sur le sujet cela n'aide pas.
Mon intuition c'est que sur VPS, qui est une solution mutualisée (au passage génial pour la phase de développement) l'envoie de mail n'est pas possible.

J'ai une solution, tordue certes, qui fonctionne. La solution simple je prend.

C'est normal qu ovh ne propose pas de tutoriels.
Les tutoriels sont les mêmes pour les dédiés et les vps et donc propre à chaque distribution.


Pour l'envoie de mail tu peux aussi tester avec ce site https://www.1tester.comtester.com (il accepte tout même si le mail est très très mal envoyé alors que la grande majorité les refuserai..)

Bonjour,

c'est quoi votre code PHP pour envoyer le mail, car le problème n'est peut être pas votre VPS mais votre code tout simplement.

Cordialement, janus57


Alors je suis arrivé à une solution:
- sur le VPS je met en base de donnée MySql la demande d'envoie d'Email,
- sur un serveur dédié ou j'héberge mon serveur mail, un programme en C# viens lire cette base et envoie via un SMTP l'Email.

C'est une usine à gaz


Oui c'est une usine à gaz.
Sur votre serveur mail, vous tournez Postfix, ou Sendmail ou similaire (ou IIS 6 ?)
Il suffit de mettre sur ce serveur mail que vous acceptez de relayer le courrier sortant qui est soumis par l'adresse IP de votre VPS.
Ensuite PHPMail gére cela facilement: SMTP via l'adresse IP et n° de port de votre serveur mail. Même pas besoin d'authentification.

Merci pour vos réponses, désolé de répondre si tard mais grippe de madame m'a un peu bloqué aujourd'hui.

J'utilise quelques script pour le mail, je vais mettre le plus basique:
// Test envoie d'un email

try
{
$email = 'web-f68m3@1tester.com';tester.com';
$sujet = 'test envoie';
$message_txt = 'Bonjour, ceci est un test';

echo 'mail: '.mail($email, $sujet, $message_txt);
}
catch (Exception $e)
{
echo 'raté';
die('Error : ' . $e->getMessage());
}
?>

Maintenant, je me suis tourné vers Exim4. Avec le site que vous m'avez conseillé j'ai tenté d'envoyer ce mail et d'autres plus complexe en HTML.
J'ai tenté plusieurs configurations, le mail est passé une seule fois. Après ça ne passait plus et je suis un peu perdus. Je vais continuer à travailler dessus demain.
Apparemment ça doit être possible avec un VPS mais rien de simple même avec les tutos.

Bonjour,

Si vous utilisez ce code il vous faudra forcément un serveur mail sur votre VPS.
Hors j'avais dit plus haut qu'il est possible d'utiliser SMTP directement (aucun serveur mail à installer). Voici un exemple avec PHPMailer (qui en plus permet de gérer l'envoie correcte des mails en suivant au maximum les RFC) : https://github.com/PHPMailer/PHPMailer/blob/master/examples/smtp.phps

Avec ça il vous suffit d'utiliser votre SMTP qui existe déjà (d'après votre premier post).

Cordialement, janus57

T'as un serveur dédié avec un serveur mail (postfix) paramétré ....
T'as un autre serveur avec (un CMS, un peu de spaghetti PHP) phpmailer installé.

Il suffit de créer un boite mail sur le 'serveur postfix' - activer l'accès 'submission (porte 587), et faire en sorte que phpmailer utilise set accès sur ce 'serveur mail'.
Ce paramétrage n'est pas compliqué coté phpmailer : l'adresse de ton serveur dédié, l’utilisateur (adresse mail) et le mot de passe. la porte est "587". Basta. phpmailer fonctionne.
De toute façon, quasiment toutes les CMS (WordPress, Joomla, phpbb3, etc etc etc) installé sur des serveurs Mutu utilisent ce même 'phpmailer'. Presque toute le monde utilise ensuite 'ssl0.ovh.net' - le login (mail) et mot de passe. porte '587' (ou 465 pour ceux qui préfèrent le SSL). C'est exactement le même config.

La seule chose qui importe : savoir manier un serveur mail (comme postfix) si t'as ton propre serveur (dédié).

Comme je cherche une solution simple je vais voir du coté de la solution de Janus57 avec PHPMailer ce soir. Je vous tiens au courant du résultat.

Les réponses sont actuellement désactivées pour cette question.