0

ここに index.php からデータを取得するようなコードがあります。ユーザーがデータを入力すると、テーブルのように表示され、定義済みのメールに電子メールで送信されます。しかし、ここで動的にデータを取得しています。$_REQUEST と $_POST の両方のメソッドを使用してデータを取得しようとしましたが、メール関数でメッセージ パラメータを変更しようとしていますが、php タグでは構文エラーが発生せず、表示されません。

ここでコードを実行してください

<?php
$to="xxxxxxx@gmail.com";
$fn="Fisrt Name";
$ln="Last Name";
$name=$fn.' '.$ln;
$from="xxxxx@xxx.com";
$subject = "Welcome to Website";

include('newsmtp/smtpwork.php');

 ?>
 <?php

 $message = 'Dear $firstName, 


 Your Welcome Message.'.'
 <table border=1>

    <tr>
        <td>First Name:</td>
        <td><?php $firstName=$_POST['firstname'];
        echo $firstName;?></td>
    </tr>

    <tr>
        <td>Last Name:</td>
        <td><?php $lastname=$_POST['lastname'];
        echo $lastname;?></td>

    </tr>

    <tr>

        <td>Title:</td>
        <td><?php $title=$_POST['title'];
        echo $title;?></td>
    </tr>

    <tr>

        <td>Address:</td>
        <td><?php $address=$_POST['address'];
        echo $address;?></td>
    </tr>

    <tr>

        <td>Phone Number:</td>
        <td><?php $phone=$_POST['phone'];
        echo $phone;?></td>
    </tr>


    <tr>

        <td>Course Name:</td>
        <td><?php $course=$_POST['coursename'];
        echo $course;?></td>

    </tr>

    <tr>

        <td>Website:</td>
        <td><?php $website=$_POST['website'];
        echo $website;?></td>

    </tr>

</table>

Thanks
xxxxxxxxxxxx
';
?> 
4

3 に答える 3

2

この方法を試して、投稿された値を $message 変数の外側の変数に割り当て、変数を $message 変数内に出力します

$firstname  = $_POST['firstname'];
$lastname   = $_POST['lastname'];
$title      = $_POST['title'];
$address    = $_POST['address'];
$phone      = $_POST['phone'];
$course     = $_POST['course'];
$website    = $_POST['website'];


    $message = 'Dear '.$firstName.', 
     Your Welcome Message.'.'
     <table border=1>
        <tr>
            <td>First Name:</td>
            <td>'.$firstname.' </td>
        </tr>
        <tr>
            <td>Last Name:</td>
            <td>'.$lastname.'</td>
        </tr>
     <tr>
        <td>Title:</td>
        <td>'.$title.'</td>
    </tr>
    <tr>
        <td>Address:</td>
        <td>'.$address.'</td>
    </tr>
    <tr>
        <td>Phone Number:</td>
        <td>'.$phone.'</td>
    </tr>
    <tr>
        <td>Course Name:</td>
        <td>'.$course.'</td>
    </tr>
    <tr>
        <td>Website:</td>
        <td>'.$website.'</td>
    </tr>
</table>
Thanks
xxxxxxxxxxxx
';
?> 




$to       ="xxxxxxx@gmail.com";
$subject  = "Welcome to Website";
$headers  = 'From: xxxxxx <noreply@xxxxxxx.com>' . "\r\n";
$headers .= "MIME-Version: 1.0\r\n";
$headers .= "Content-Type: text/html;\n\tcharset=\"iso-8859-1\"\r\n";

$sent   = @mail($to,$subject,$message,$headers); 

        if ($sent) {
            return true;
        } else {
            return false;
        }

また、Vinoth Babu と Naveen が提案したように、HTML メールを送信するために必要なヘッダーを追加します。

于 2013-02-05T11:44:44.917 に答える
1
$to = "naveen@gmail.com";
$subject = $name ." is contact ";

 $headers = "MIME-Version: 1.0" . "\n";
 $headers .= "Content-type:text/html;charset=iso-8859-1" . "\n";
@mail($to,$subject,$message,$headers);

text/html のようなメッセージの MIME バージョンとタイプにヘッダーを設定します

于 2013-02-05T11:44:34.143 に答える
0

HTML コンテンツ/テーブルを送信するには、そのメールのヘッダーに次を追加する必要があります。

// To send HTML mail, the Content-type header must be set
$headers  = 'MIME-Version: 1.0' . "\r\n";
$headers .= 'Content-type: text/html; charset=iso-8859-1' . "\r\n";

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

以下のリンクを参照してください。

メール機能

于 2013-02-05T11:37:13.013 に答える