PHPMailer向收件人发送电子邮件电子邮件

PHPMailer向收件人发送电子邮件电子邮件,php,phpmailer,Php,Phpmailer,几天前,我开始了我的第一个项目,我被分配在工作。今天,我在PHPMailer上遇到了一个错误。本质上,当它应该发送用$\u POST拍摄的电子邮件时,它不会。相反,它将电子邮件发送给应该接收它的人(电子邮件) 这是我的密码 index.php: TOP PART: <?php include 'db.php';?> <?php include 'function.php';?> <?php if(isset($_POST['subcon'])){

几天前,我开始了我的第一个项目,我被分配在工作。今天,我在PHPMailer上遇到了一个错误。本质上,当它应该发送用$\u POST拍摄的电子邮件时,它不会。相反,它将电子邮件发送给应该接收它的人(电子邮件)

这是我的密码

index.php:

TOP PART:
 <?php include 'db.php';?>
 <?php include 'function.php';?>
 <?php 
    if(isset($_POST['subcon'])){
    
    $sender = new SendData();
    $sender->SendEmails($_POST['email'],$_POST['message']);
    
    }
 ?>

FORM PART:

    <div class="container-fluid">
        <main class="form-signin">
          <form method='post' action='index.php'>
            <h1 class="mb-3 contact-text">Contact Me</h1>
            <div class="form-floating mb-3">
              <input type="text" class="form-control" name='usrn' id="floatingPassword" placeholder="Username">
              <label for="floatingPassword" name='usrn' id='username-text'>Username</label>
            </div>
            <div class="form-floating mb-3">
              <input type="email" name='email' class="form-control" id="floatingInput" placeholder="name@example.com">
              <label for="floatingInput" id='email-text'>Email address</label>
            </div>
            <div class="md-form mb-3">
            <textarea id="form7" class="md-textarea form-control" name='message' rows="10" noresize </textarea>
            </div>
            <button class="w-100 btn btn-lg btn-text btn-outline-dark mb-2" name='subcon' type="submit">Sign in</button>
          </form>
         </main>
       </div>
顶部部分:
构成部分:
联系我
用户名
电子邮件地址

我一直在试图自己解决这个问题,但我想我需要帮助。

你在试图欺骗/伪造电子邮件发件人,gmail只会忽略你。别那么做。遵循:使用您自己的“发件人”和“收件人”地址,并使用提交人的地址作为回复地址:

$mail->addAddress($receiver);
$mail->setFrom($receiver, $_POST['username']);
$mail->addReplyTo($_POST['email']);

别忘了做一些错误检查<代码>$mail->setFrom($sender)/
$receiver='gimmy。none@gmail.com';<代码>$mail->addAddress($receiver)这不是你所做的吗?如果想向更多的收件人发送电子邮件,请多次使用
addAddress()
,即
$mail->addAddress($sender)
它应该发送用$\u POST拍摄的电子邮件
-你是说它应该从POST发送到电子邮件地址吗?如果是的话,我想你只是把自己弄糊涂了<代码>$mail->setFrom($sender)
设置消息来自表单中输入的电子邮件地址,以及
$mail->addAddress($receiver)将其设置为转到硬编码的
gimmy…
地址。还请注意,您正在将两个参数传递给
sendmails()
,但这些参数从未使用过。
<?php include "db.php"; ?>
<?php 

/*
========================|
==>  Requires & Use  <==|
========================|
*/

use PHPMailer\PHPMailer\PHPMailer;
use PHPMailer\PHPMailer\SMTP;
use PHPMailer\PHPMailer\Exception;
require '../third-party/vendor/autoload.php';


/*
========================|
=>      Classes      <==|
========================|
*/

class SendData{

    public function SendEmails(){
    
        /*
        ========================|
        ==> PUBLIC VARIABLES    |
        ========================|
        */
        $receiver ='gimmy.none@gmail.com';
        $sender = $_POST['email'];
        $username = $_POST['usrn'];
    
        $mail = new PHPMailer(true);
        try {
            $mail->SMTPDebug        = 1;                
            $mail->isSMTP();                                            
            $mail->Host             = 'smtp.googlemail.com';                     
            $mail->SMTPAuth         = true;                                   
            $mail->Username         = '';                     
            $mail->Password         = 'APP_PASSWORD';                               
            $mail->SMTPSecure       = "tls";
            $mail->Port             = 587;

            
            $mail->setFrom($sender);
            $mail->addAddress($receiver);     //Who is going to receive it


            //Content
            $mail->isHTML(true);                                  //Set email format to HTML
            $mail->Subject = 'Here is the subject';
            $mail->Body    = 'This is the HTML message body <b>in bold!</b>';
            $mail->AltBody = 'This is the body in plain text for non-HTML mail clients';

            $mail->send();
            echo 'Message has been sent';
        } catch (Exception $e) {
            echo "Message could not be sent. Mailer Error: {$mail->ErrorInfo}";
        }
    }
    
}

?>
$mail->addAddress($receiver);
$mail->setFrom($receiver, $_POST['username']);
$mail->addReplyTo($_POST['email']);