[RESOLU] Envoi mail PHP sendmail

Répondre


Cette question est un moyen d’empêcher des soumissions automatisées de formulaires par des robots.
Smileys
:D :) :( :o :shock: :? 8-) :lol: :x :P :oops: :cry: :evil: :twisted: :roll: :wink: :!: :?: :idea: :arrow: :| :mrgreen: =D> #-o =P~ :^o :non: :priere: 8-|
Voir plus de smileys
  Revue du sujet
 

  Étendre la vue Revue du sujet : [RESOLU] Envoi mail PHP sendmail

Re: Envoi mail PHP sendmail

par Beebeepc » 02 févr. 2021, 19:56

merci Ryle tu as completement raison !! je viens de m'en rendre compte !! quelle cruche !!!
au prochain souci? :) merci à toi j'ai encore plein de souci :(


Hello je mets ce sujet :: RESOLU !!!! j'ai reussi -> merci à tous ceux qui m'ont envoyés des idees et infos !!
j'apprends , j'avance, j'ai meme inové avec le manuel php !
j'ai ajouté mes fameuses variables $_POST dans mes variables $headers $message
c'est tout bon !!! j'espere que ca le sera encore demain matin

voilà ce que j'ai reussi à faire :
<?php

ini_set('sendmail_from','[email protected]');
$to = '[email protected]';
$email_subject = "blog php projet 5 - envoi d'un mail de la page d'accueil";
$email_body = "vous avez recu un nouveau message de :" . $_POST['name'] ;
$message = "\n\r adresse mail: " . $_POST['email'] . "\r\n numero tel: " . $_POST['phone'] . " \r\n Message: " . $_POST['message'];
$headers = "From: [email protected]\n";
$headers .= "Reply-To:" . $_POST['email'];

mail($to, $email_subject, $message, $headers, $email_body);

Bon courage à tous

Re: Envoi mail PHP sendmail

par Ryle » 02 févr. 2021, 18:16

Hello !

Je ne vois pas bien dans ton code, à quel moment est-ce que tu fais appel à $_POST['message'] pour récupérer le message envoyé par l'utilisateur et le mettre dans ta variable $message qui est utilisée dans le corps du mail ? :)

Re: Envoi mail PHP sendmail

par Beebeepc » 02 févr. 2021, 15:50

HELLO !! ne me demandez pas pk ce matin en tentant à nouveau d'envoyer un mail -> MIRACLE : mail apparait mais pas dans MailDev mais dans PAPERCUT SMTP!!!!!! no comment
en revanche ! comme je suis tenace :) mon message est vide !!! j'ai testé avec mon var dump $_POST: tous mes champs sont bien dans mon array
array:4 [▼
"name" => "CHRISTOPHE "
"email" => "[email protected]"
"phone" => "0123031258"
"message" => "Testttt"

dans mon controller j'ai fait plusieurs test ( sans ce qui est commenté) :
ini_set('sendmail_from','[email protected]');
$to = '[email protected]';
$email_subject = "blog php projet 5:" . $_POST['name'];
$email_body = "vous avez recu un nouveau message de ";
$message = "Line 1\r\nLine 2\r\nLine 3";
$message = wordwrap($message, 70, "\r\n");
$headers = "From: [email protected]\n";


$headers .= "Reply-To:" .  $_POST['email'];

[color=#FF0080]/*$message = "name: " . $to . "\n\n" . "email: " . $email_subject . "\n\n" . "phone: " . $phone . "\n\n" . "message: " . $message . "\n\n" .*/[/color]

mail($to, $email_subject, $email_body, $message, $headers);
alors j'ai testé ma variable $message : rien :( evidemment mais mon champs dans mon formulaire est bien name: message !

Dans mon PAPERCUT : j'ai bien de rempli :
from
to
date
subject
je vois donc Line1 line2 line 3
vous avez reçu un message mais ce que rempli la personne dans le formulaire avant l'envoi :: NON "message" => "Testttt"
CE qui apparait dans mon var dump j'ai pas !!
qu'est ce que je fais encore mal?

merci pour vos retours

Re: Envoi mail PHP sendmail

par Beebeepc » 01 févr. 2021, 21:14

Hello !! Je viens de reussir à recevoir 1 mail dans MailDev!!!!!!! pas 2 UN!! j'ai oté mon parefeu!!!! et j'ai recu un mail de l'apm !!! halucinant

impossible d'en recevoir un autre car maintenant j'ai une erreur : Trying to access array offset on value of type bool!!! à la ligne view = $match['target']

sur mon fichier :
    public function run(): self
    {
        $match = $this->router->match();
      $view = $match['target'] ?: 'e404';
        $params = $match['params'];
        $router = $this;
        $isAdmin = strpos($view, 'admin/') !== false;
        $layout = $isAdmin ? 'admin/layouts/default' : 'layouts/default';

        try {
            ob_start();
            require $this->controllerPath  . DIRECTORY_SEPARATOR . $view . '.php';
            $content = ob_get_clean();
            require $this->viewsPath  . DIRECTORY_SEPARATOR . $layout  . '.php';
        } catch (ForbiddenException $e) {
            header('Location: ' . $this->url('login') . '?forbidden=1');
            exit();
        }
        return $this;
je comprends pas :roll:
:(

je comprends pas car j'ai pas modifié et ma function match et en plus je suis en methode POST!!
public function match(string $url, string $view, ?string $name = null): self
{
$this->router->map('POST|GET', $url, $view, $name);

return $this;
}

Re: Envoi mail PHP sendmail

par Beebeepc » 30 janv. 2021, 12:44

hello oui j'ai mis mais mon souci c'est que je ne me debarrasse plus du message : message "mail(): SMTP server response: 550 Unauthenticated senders not allowed" et que je ne reviens meme plus sur ma page formulaire :(

Re: Envoi mail PHP sendmail

par Ma8__ » 30 janv. 2021, 07:25

Dans les parametres en haut a droite, tu peux paramétrer l'ip et le port d'ecoute

Re: Envoi mail PHP sendmail

par Beebeepc » 29 janv. 2021, 20:47

oui en principe c'est le port 1025 !! Papercut j'ai commencé je l'ai telechargé mais je m'y suis pas trop penchée comme j'avais reussi avec MailDev!!
et que c'est qu'une histoire de ce satané code !!

je viens de telecharger papercut :: ok j'ai une jolie fenetre papercut smtp avec tout ce qu'il faut pour un mail mais apres?
:-k :-k je vois pas trop

Re: Envoi mail PHP sendmail

par Ma8__ » 29 janv. 2021, 20:38

Est-ce que maildev écoute sur ton port 1025 ? as-tu essaye Papercut c'est juste un .exe a lancer!

Re: Envoi mail PHP sendmail

par Beebeepc » 29 janv. 2021, 20:34

merci pour l'encouragement!! j'en ai grand besoin en plus !

Alors Ouiiii avec de l'aide j'ai reussi à installer MailDev :) :) petit tuyau qu'un type sympa m'a expliqué : en ce moment sur cette installation ya un souci sur l'adresse : pas mettre local.dev:1080 mais 127.0.0.1:1080 ca peut servir peut etre !!

Bon une fois cela dit : j'ai pas tout reglé !!! j'ouvre mail Dev mais mon envoi ne marche pas!!!
voilà mon code de mon fichier index.php:
<?php


$message = "Line 1\r\nLine 2\r\nLine 3";

// Dans le cas où nos lignes comportent plus de 70 caractères, nous les coupons en utilisant wordwrap()
$message = wordwrap($message, 70, "\r\n");

// Envoi du mail
mail('[email protected]', 'Mon Sujet', $message);

$to = '[email protected]';
$email_subject = "blog php projet 5:" . $_POST['name'];
$email_body = "vous avez recu un nouveau message de "; // : .\n\n"." details:\n\nName: $userName\n\nEmail: $email_address\n\nPhone: $phoneNumber\n\nMessage:\n$accueilMsg";
$headers = "From: mon [email protected]\n";
$headers .= "Reply-To:" . $_POST['email'];
mail($to,$email_subject,$email_body,$headers);

et voici toujours cette maudite erreur: mail(): SMTP server response: 550 Unauthenticated senders not allowed!!!

j'ai bien modifié mon php.ini avec :[mail function]
; For Win32 only.
; http://php.net/smtp
SMTP = 127.0.0.1
SMTP = localhost
; http://php.net/smtp-port
smtp_port = 1025 et redemarré mon wamp
mais impossible de revenir sur ma page accueil je suis coincee :( le souci c'est qu'en cherchant cette erreur sur le net : ca me ramene toujours à sendgrid et c'est pas sendgrid!!!

Re: Envoi mail PHP sendmail

par Ma8__ » 29 janv. 2021, 19:00

ça va le faire.

Re: Envoi mail PHP sendmail

par Beebeepc » 29 janv. 2021, 18:53

Merci je vais essayer tout ca et reviendrai donner la finalité !!! ouille espoir espoir mais merci bcp

Re: Envoi mail PHP sendmail

par Ma8__ » 29 janv. 2021, 18:16

Bonjour,
Je vous apporte mes solutions en espérant que cela pourra aider,
Pour y avoir galéré durant des mois a mes débuts, j'ai enfin trouver des solutions (qui me conviennent).

Pour envoyer un mail sous Windows, sans la configuration particulière avec sendmail, je vous conseil d'utiliser https://github.com/ChangemakerStudios/Papercut-SMTP qui est très pratique et facilement utilisable.

Après, je vous conseille vraiment d’utiliser cette libraire assez connu, modulable, pour php, ça facilitera les choses : https://github.com/PHPMailer/PHPMailer

Voici un service gratuit permettant de recevoir les mail et pièces jointes https://ethereal.email
Sous linux, en utilisant PHPMailer et maildev

Code : Tout sélectionner

npm install maildev
ou https://ethereal.email tout devient plus simple.

Cordialement,
En espérant vous avoir aide

Re: Envoi mail PHP sendmail

par Beebeepc » 29 janv. 2021, 16:14

c'est gentil de me dire ca :cry: j'avoue que j'arrive pas :( ca fait un moment que je suis là dessus!!
je lis tant de messages aussi ou ils ont tous finalement des soucis ! moi j'arrive pas :non: |*() |*() |*()


j'ai ete sur manual php et je penseavoir suivi mais bon !!!
j'ai trouvé aussi un autre tto pour utiliser phpmail :

ils disent de mettre un fichier testmail dans dossier public:
}
$to      = '[email protected]';
$subject = 'test';
$message = 'hello';
$headers = array(
    'From' => '[email protected]',
    'Reply-To' => '[email protected]',
);

mail($to, $subject, $message, $headers);

$text = str_replace("\n.", "\n..", $text);

$success = mail('[email protected]', 'My Subject', $message);
if (!$success) {
    $errorMessage = error_get_last()[' message test bien receptionné!!!'];
}
?>
je suis allée aussi selon les infos sur l interface de mon operateur free et ai fait :
Pour utiliser cette fonction, assurez-vous que votre fournisseur d’hébergement vous permet de gérer manuellement l’option du service Sendmail.
donc j'ai autorisé!!

voilà toujours le meme message :
mail (): réponse du serveur SMTP: 550 expéditeurs non authentifiés non autorisés

faut il que je remodifie encore un truc dans mon php.ini? là j'ai mis : [mail function]
; For Win32 only.
; http://php.net/smtp
SMTP= localhost
; http://php.net/smtp-port
smtp_port = 1025

bon allez je vais y arriver je vais y arriver !!!!!!! la question c'est quand!!!! :(
ce qui me chagrine et qui me donne la niak en plus pour y arriver c'est que mon mentor(que j'ai plus) m'a dit! laisse tomber c'est pas grave si ca marche pas!!!!!! et ca nan je peux pas si c'est important

Re: Envoi mail PHP sendmail

par @rthur » 29 janv. 2021, 14:30

Si tu héberges ton script PHP sur OVH, il n'y a pas besoin d'installer quoique ce soit.
Utilise simplement la fonction mail(), tu peux notamment prendre l'exemple #2 de la doc que tu mets dans un nouveau script PHP (en changeant les adresses d'expéditeur et de destinataire) et ça va marcher :
https://www.php.net/manual/fr/function.mail.php

Re: Envoi mail PHP sendmail

par Beebeepc » 29 janv. 2021, 14:23

SALuT @rthur !!! le pire : j'ai ovh mais je sais pas comment on fait :( je rappelle la section que j'ai choisi : PHP DEBUTANT :(