1

フォームの結果と添付画像をメールに送信するための php スクリプトを探していました。実際に添付ファイルを送信したものを見つけましたが、それに入力値を追加する方法がよくわかりません。現在、メール本文の説明と添付画像を送信するだけです。電話番号/場所/ウェブサイト/などの他の情報も表示したいと思います。複数のアプローチを試し、ここや他のサイトを検索しましたが、うまくいきませんでした。このコードに追加するのを手伝ってくれる人はいますか?

    <?
$strTo = $_POST["txtTo"];
$strSubject = $_POST["txtSubject"];
$strMessage = nl2br($_POST["txtDescription"]);


//*** Uniqid Session ***//
$strSid = md5(uniqid(time()));

$strHeader = "";
$strHeader .= "From: ".$_POST["txtFormName"]."<".$_POST["txtFormEmail"].">\nReply-To: ".$_POST["txtFormEmail"]."";

$strHeader .= "MIME-Version: 1.0\n";
$strHeader .= "Content-Type: multipart/mixed; boundary=\"".$strSid."\"\n\n";
$strHeader .= "This is a multi-part message in MIME format.\n";

$strHeader .= "--".$strSid."\n";
$strHeader .= "Content-type: text/html; charset=utf-8\n";
$strHeader .= "Content-Transfer-Encoding: 7bit\n\n";
$strHeader .= $strMessage."\n\n";

//*** Attachment ***//
for($i=0;$i<count($_FILES["fileAttach"]["name"]);$i++)
{
    if($_FILES["fileAttach"]["name"][$i] != "")
    {
        $strFilesName = $_FILES["fileAttach"]["name"][$i];
        $strContent = chunk_split(base64_encode(file_get_contents($_FILES["fileAttach"]["tmp_name"][$i]))); 
        $strHeader .= "--".$strSid."\n";
        $strHeader .= "Content-Type: application/octet-stream; name=\"".$strFilesName."\"\n"; 
        $strHeader .= "Content-Transfer-Encoding: base64\n";
        $strHeader .= "Content-Disposition: attachment; filename=\"".$strFilesName."\"\n\n";
        $strHeader .= $strContent."\n\n";
    }
}


$flgSend = @mail($strTo,$strSubject,null,$strHeader);  // @ = No Show Error //

if($flgSend)
{
    echo "Mail send completed.";
}
else
{
    echo "Cannot send mail.";
}

?>

4

1 に答える 1

0

場所、電話、ウェブサイトなどの他の情報を表示するには、これらのフィールドを、このスクリプトの送信元のフォームにそれぞれ追加する必要があります。たとえば、ユーザーの位置を取得するには、フォーム タグ内に次のような新しい入力フィールドを追加します。

<input type="text" name="location"/> 

次に、ユーザーがそのボックスに場所を入力すると、メール本文の説明を入力するように、場所をメール本文に追加します (最初に基本情報から始めます)。

$strMessage = "Location: ".$_POST["location"]."</br>"

「br」は単なる改行です。

次に、次のように説明をメール本文に追加します。

$strMessage .= "</br>".nl2br($_POST["txtDescription"]) 

たとえば、ユーザーの所在地がニュージャージーで、説明が「こんにちは、お元気ですか?」の場合、メール本文は次のようになります。

Location: New Jersey

Hello, how are you?
于 2013-09-01T16:29:00.270 に答える