簡體   English   中英

無法在phpmailer中設置發件人姓名,他的電子郵件和主題

[英]Can't set the sender name, his email and subject in phpmailer

我的phpmailer發送的消息沒有發件人姓名,發件人電子郵件和消息主題。

我需要這樣的消息:

Name: sender name
Email: sender@gmail.com
Subject: Business
Message: text of message .................... ............. ............

請幫助我修復它,以接收發件人姓名,電子郵件和主題。 謝謝。

這是我的php文件:

<!DOCTYPE html>
<html>
    <head>
        <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
        <meta http-equiv="Content-Language" content="EN" />
        <title> Contact Form</title>
    </head>
    <body>
    <?php
        //receive and save all informations
        $name=$_POST['Name'];
        $from=$_POST['E-mail'];
        $subject=$_POST['Subject'];
        $message=$_POST['Message'];

        // reading PHPmailer
        require("phpmailer/class.phpmailer.php");
        include("phpmailer/class.smtp.php");

        $mail = new phpmailer(true);
        $mail->IsSMTP();
        try {
            $mail->IsSMTP();
            $mail->CharSet="UTF-8";
            $mail->SMTPSecure = 'tls';
            $mail->Host = 'smtp.gmail.com';
            $mail->Port = 587;
            $mail->Username = 'eric21@gmail.com';
            $mail->Password = 'ter3221';
            $mail->SMTPAuth = true;
            $mail->SetFrom("$from",'website');
            $mail->AddAddress('eric@gmail.com','message has been sent. contact us');
            $mail->Subject='Website message';
            $mail->CharSet='UTF-8';
            $mail->ContentType='text/html';
            $mail->MsgHTML("$message");
            if (!$mail->send()) {
                echo 'your message was not sent. Tap "Try Again" to send the message.';
                echo 'Mailer Error: ' . $mail->ErrorInfo;
            } else {
                echo '<div class="alert alert-success container text-center" style="text-align:center" role="alert">
                        <big><b><br><br><br>Message has been sent!<br></big></b>
                    </div>
                    <div class="alert alert-success container text-center" style="text-align:center" role="alert">
                        <a href="page.html"> <big><b><button>Back </big></b></button> </a>
                    </div>';
            }
        } catch(phpmailerException $e) {
            echo "<p class='message alert alert-danger'>" . $e->errorMessage() . "</p>";
        } catch(Exception $e) {
            echo "<p class='message alert alert-danger'>" . $e->getMessage() . "</p>";
        }
    ?>
    </body>
</html>

這是我的表格

<form class="form" id="form-main" method="Post" action="1.php">
 <p class="name">
        <input name="Name" type="text" class="validate[required,custom[onlyLetter],length[0,100]] feedback-input" placeholder="Name" id="name" />
      </p>
      <p class="e-mail">
        <input name="E-mail" type="text" class="validate[required,custom[email]] feedback-input" id="e-mail" placeholder="E-mail" />
      </p>
      <p class="subject">
        <input name="subject" type="text" class="validate[required,custom[onlyLetter],length[0,100]] feedback-input" placeholder="subject" id="subject" />
      </p>
      <p class="text">
        <textarea name="message" class="validate[required,length[6,300]] feedback-input" id="message" placeholder="Message"></textarea>
      </p>


      <div class="submit">
        <input type="submit" value="SEND" id="button-blue"/>
        <div class="ease"></div>
      </div>

    </form>

您的代碼基於過時的示例,並且可能正在使用舊版本- 獲取最新版本。 如果希望這些提交的字段出現在消息中,則需要在調用msgHTML()之后將它們附加到$message$mail->Body 這將使您成為具有以下內容的純文本正文:

$mail->isHTML(false);
$mail->Body = "Name: $name
Email: $email
Subject: $subject
Message: $message";

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM