无法使用WAMP和sendmail在本地发送邮件


Unable to send a mail in local by using WAMP and sendmail

我正在处理一个php项目,我到达了应该向用户发送邮件的部分。我决定使用PHP函数mail()。任何时候我尝试下面的代码,都是不成功的:

// Sending the confirmation mail
            $confirmation_link = "http://localhost/africafashion_newversion/confirm.php?id=$user_id&token=$token";
            $to = $_POST['email'];
            $subject = "Confirmation de votre compte";
            $message = '
                <html>
                    <head>
                        <title>'.$subject.'</title>
                    </head>
                    <body>
                        <div>
                            <table cellpadding="0" cellspacing="0" border="0" style="border-collapse:collapse;margin:0;padding:0;font-family:Arial,Helvetica,sans-serif;width:100%!important;height:100%!important">
                                <tbody>
                                    <tr>
                                        <td align="center" style="padding-bottom:20px;border-collapse:collapse">
                                            
                                             <img src="logo.png" alt="Stack Exchange" style="width:180px;min-height:43px; padding:30px 0; text-align: center;outline:none;" />
                                            
                                            <div style="max-width:400px; margin: 0 auto; border:1px solid #eee;border-radius:3px;background:#ffffff; padding: 25px 10px;">
                                                      
                                                <p>You are almost done!</p>
                                                <p><a href="'.$confirmation_link.'" style="color:#15c; text-decoration: none;">Click here to complete your registration</a></p>
                                            </div>
                                            
                                            <div style="font-size:95%; color:#999;font-family: Helvetica,Arial,sans-serif">
                                               
                                                <p>
                                                    Questions? Comments? Let us know on our <a href="#"  style="color:#15c; text-decoration: none;">feedback site</a>.
                                                </p>
                                                <p>
                                                    Stack Exchange Inc. 110 William Street, 28th floor, NY NY 10038
                                                </p>
                                            </div>
                                        </td>
                                    </tr>
                                </tbody>
                            </table>
                        </div>
                    </body>
                </html>
            ';
            // Always set content-type when sending HTML email
            $headers = "MIME-Version: 1.0" . "'r'n";
            $headers .= "Content-type:text/html;charset=UTF-8" . "'r'n";
            // More headers
            $headers .= 'From: <no-reply@example.com>' . "'r'n";
            $headers .= 'Cc: myboss@example.com' . "'r'n";
            if (mail($to,$subject,$message,$headers)) {
                $_SESSION['flash']['success'] = 'A mail has been successfully sent.';
                header('Location: login.php');
                exit();
             }else{
                $_SESSION['flash']['danger'] = "Confirmation mail not sent";
                $req = $pdo->prepare('DELETE FROM users WHERE UserID = ?');
                $req->execute([$user_id]);
                header('Location: register.php');
                exit();
             }
        }

请帮我解决这个问题。

不要使用SendMail,可以使用SwiftMailer。它很简单,而且你可以在收件箱中发送电子邮件(而不是垃圾邮件…!!!)。所以它会帮助你并节省你的时间。

我的Send.php 代码

include_once "inc/swift_required.php";
$subject = 'Hello from Jeet Patel, PHP!'; //this will Subject
$from = array('jeet@mydomain.com' =>'mydomain.com'); //you can use variable
$text = "This is TEXT PART";
$html = "<em>This IS <strong>HTML</strong></em>";
$transport = Swift_SmtpTransport::newInstance('abc.xyz.com', 465, 'ssl');
$transport->setUsername('MYUSERNAME@MYDOMAIN.COM');
$transport->setPassword('*********');
$swift = Swift_Mailer::newInstance($transport);

    $to = array($row['email']  => $row['cname']);
    $message = new Swift_Message($subject);
    $message->setFrom($from);
    $message->setBody($html, 'text/html');
    $message->setTo($to);
    $message->addPart($text, 'text/plain');
    if ($swift->send($message, $failures))
    {
        echo "Send successfulllyy";
    } else {
        print_r($failures);
    }