Envoie mail php avec Mailjet

Petit nouveau ! | 3 Messages

27 juin 2022, 10:35

Bonjour, j'essaie de créer un formulaire avec envoie d'email grâce à Mailjet .

Pour cela, j'ai créé 2 pages :

-action.php (contenant du code issue de Mailjet pour envoyer un mail sur ma boîte GMAIL)

-index.html (contenant la structure du formulaire)

Cependant, j'ai les erreurs suivante :

( ! )Warning: require_once(C:\wamp64\www\siteformulaire/vendor/autoload.php): failed to open stream: No such file or directory in C:\wamp64\www\siteformulaire\action.php on line3
Call Stack
# Time Memory Function Location
1 0.0111 363424 {main}( ) ...\action.php:0

( ! )Fatal error: require_once(): Failed opening required 'C:\wamp64\www\siteformulaire/vendor/autoload.php' (include_path='.;C:\php\pear') in C:\wamp64\www\siteformulaire\action.php on line3
Call Stack
# Time Memory Function Location
1 0.0111 363424 {main}( ) ...\action.php:0

Voici le code de index.html :
<!DOCTYPE html>
<html>
<head>
    <title>FORM</title>
    <link rel="stylesheet" type="text/css" href="style.css">
</head>
<body>
 
  <form action="action.php" method="post">
 <ul>
  <li>
    <label for="name">Nom et prénom:</label>
    <input type="text" name="user_name" autocomplete="off">
  </li>
  <li>
    <label for="mail">Votre adresse e-mail:</label>
    <input type="email"  name="user_email" autocomplete="off">
  </li>
  <li>
    <label for="msg">Votre message :</label>
    <textarea  name="user_message"></textarea>
  </li>
    
   <li><button type="submit" name="valider">Envoyer</button></li>
 </ul>
</form>
 
</body>
</html>
Voici le code de action.php:
<?php
 
require_once(__DIR__.'/vendor/autoload.php');
use \Mailjet\Ressources;
 
define('API_USER', '39e54622a172110c04722e65f23f9821');
define('API_LOGIN', '* * * * * *');
$mj = new \Mailjet\Client(getenv('MJ_APIKEY_PUBLIC'), getenv('MJ_APIKEY_PRIVATE'),true,['version' => 'v3.1']);
 
 
 
 
$mj = new \Mailjet\Client(API_USER, API_LOGIN, true, ['version' => 'v3.1']);
  if(isset($_POST['valider']))
  {
    if(isset($_POST['user_name']) AND isset($_POST['user_email']) AND isset($_POST['user_message']))
    {
        if(!empty($_POST['user_name']) AND !empty($_POST['user_email']) AND !empty($_POST['user_message']))
        {
           $name=htmlspecialchars($_POST['user_name']);
           $email=htmlspecialchars($_POST['user_email']);
           $message=htmlspecialchars($_POST['user_message']);
  
            if(filter_var($email, FILTER_VALIDATE_EMAIL))
            {
$body = [
    'Messages' => [
        [
            'From' => [
                'Email' => "Mon email",
                'Name' => "NoSignal"
            ],
            'To' => [
                [
                    'Email' => "Mon email",
                    'Name' => "NoSignal"
                ]
            ],
            'Subject' => "Demande de renseignement",
            'TextPart' => "$email, $message",
            'HTMLPart' => "<h3>Dear passenger 1, welcome to <a href=">Mailjet</a>!</h3><br />May the delivery force be with you!"
        ]
    ]
];
$response = $mj->post(Resources::$Email, ['body' => $body]);
$response->success();
echo "Email envoyé avec succès";
            }
 
            else
            {
              echo "Désolé, l'email n'est pas valide.";
            }
 
          }else{
            header('Location: index.html');
            die();
          }
        }
    }
   
 
?>





-Je me suis aidé d'un tuto mais j'ai créé les pages à ma manière pour faire un site.

-Sur Mailjet, on peut voir la clé secrète selon ce tuto :

Mais depuis les nouvelles mises à jour, la clé secrète est cachée sous forme d'étoiles (****)

La preuve en image :

[img]file:///C:/Users/Jeune/Downloads/20220627_093223.jpg[/img]
[img]file:///C:/Users/Jeune/Downloads/20220627_093829.jpg[/img]



Merci beaucoup aux personnes qui pourront m'aider ,

Bonne journée ! :D

Mammouth du PHP | 1785 Messages

27 juin 2022, 11:13

utilise des contre slash plutot que des slash dans ton chemin vers autoload.php
Spols
pour les fan de rubik's cube ou pour les curieux ==> le portail francophone du rubik's cube