LoginSignup
1
4

More than 5 years have passed since last update.

PHP mb_send_mail

Last updated at Posted at 2016-11-18

MIMEヘッダーってなに?

電子メールでは,英文メール,日本語メール,画像,ワードのファイルなどいろいろなものを送ることができる。
このいろいろな中身の種類,数などがすぐに判る様,メールには荷札がついている。そして,この荷札の書き方や中身の詰め方を定めたものがMIMEというもので,MIMEヘッダはこの中で荷札にあたるもの。メールソフトはメールを読む際,中身を取り出すために,この荷札『MIMEヘッダ』を読み取り,その内容を調べる。

参考ページ

■kadai_26_complete.php

<?php
session_start ();

?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xm1ns="http://www.w3.org/1999/xhtml">
<html lang="ja">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
<meta http-equiv="Content-Script-Type" content="text/javascript">


    <title>完了画面</title>
    <style type="text/css">
.form {
    color: white;
    background-color: #ad3140;
    text-align: center;
    /*  padding-left: 370px; */
    padding-top: 5px;
    padding-bottom: 5px;
    font-weight: bold;
    font-size: 95%;
    width: 825px;
}
</style>

</head>
<body>
    <h1>
        <font color="#ad3140">完了</font>
    </h1>
    <p class="form">送信完了</p>
    <?php
    // 日本語に設定
    mb_language ( "Japanese" );
    // 文字エンコードをUTFに設定
    mb_internal_encoding ( "UTF-8" );
    // mb_convert_encoding文字エンコーディングを変換する

    function h($str){
        return nl2br(htmlspecialchars($str, ENT_QUOTES, 'UTF-8'), false);
    }
    // メールの本文
    $word = '------お客様情報------------------------' . "\n" .'氏名:' . h($_SESSION ['name']) . "\n" . '郵便番号:' . h($_SESSION ['postalCode'])  . "\n" . '住所:' . h($_SESSION ['address'])  . "\n" . '建物名・部屋番号:' . h($_SESSION ['buildingName'])  . "\n" .
     '電話番号:' . h($_SESSION['phoneNumber']). "\n" . 'e-mail:' . h($_SESSION ['email']) . "\n" . 'e-mail(確認):' . h($_SESSION ['emailConfirmation']) . "\n" . 'ご希望の連絡方法:' . $_SESSION ['contact'] . "\n";
    $word .=  "\n" .'------お問い合わせ内容------------------------'. "\n" . 'ご質問事項:' . implode ( " ", $_SESSION ['question'] ) . "\n" . 'ご購入希望時期:' . $_SESSION ['purchaseTime']."\n" .'下取車:'. $_SESSION['tradeInCar']. "\n" .'下取車の内容:'.h($_SESSION['tradeInCarContent']);
    // \r\n→改行
    $from = "From:"  . "<" . 'admin_xxxsky@gmail.com' . ">\n";

    $to = "xxxsky@gmail.com";
    $to1 = $_SESSION ['mail'];
    // mb_send_mail(送信先, 題名, 本文, ヘッダ);
    $word1 = '以下の内容で送信されました。' . "\n" . 'ありがとうございます。' . "\n".'------お客様情報------------------------' . "\n".'氏名:' . $_SESSION ['name'] . "\n" . '郵便番号:' . $_SESSION ['postalCode']  . "\n". '住所:' . $_SESSION ['address']  . "\n". '建物名・部屋番号:' . $_SESSION ['buildingName']  . "\n".
    '電話番号:' . $_SESSION['phoneNumber']. "\n" . 'e-mail:' . $_SESSION ['email'] . "\n" . 'e-mail(確認):' . $_SESSION ['emailConfirmation'] . "\n" . 'ご希望の連絡方法:' . $_SESSION ['contact'] . "\n";
    $word1 .=   "\n".'------お問い合わせ内容------------------------'. "\n" . 'ご質問事項:' . implode ( " ", $_SESSION ['question'] ) . "\n" . 'ご購入希望時期:' . $_SESSION ['purchaseTime']."\n" .'下取車:'. $_SESSION['tradeInCar']. "\n" .'下取車の内容:'.$_SESSION['tradeInCarContent']. "\n" ."\n".'※このメールへの返信はできませんのでご了承ください。';
    // \r\n→改行
    //送信者用自動返信メール送信
    $from1 = "From:" . '管理人' . "<" . 'admin_xxxsky@gmail.com' . ">\n";
    //管理者受信用メール送信
    $send = mb_send_mail ( $to, 'お問い合わせフォームより送信されました', $word, $from );
    // ユーザーに送信
    $send_confirm = mb_send_mail ($_SESSION['email'], '送信完了のお知らせ(自動メール)', $word1, $from1 );
    if ($send ==  true && $send_confirm == true) {
//  if($send_confirm){
        echo '送信完了しました。<br />';
    } else {
        echo '送信失敗しました。
    <br />';
    }
    // $_SESSIONのデータを削除 $_SESSION = array (); // セッションファイルを破棄
    session_destroy ();
    ?>
    <p>
        <span style="margin-left: 250px;"><button type="button"
                onclick="location.href='kadai_26_input.php'">入力画面に戻る</button> </span>
    </p>
</body>
</html>

■管理人が受け取るメール内容
------お客様情報------------------------
氏名:
郵便番号:
住所:
建物名・部屋番号:
電話番号:
e-mail:
e-mail(確認):
ご希望の連絡方法:

------お問い合わせ内容------------------------
ご質問事項:
ご購入希望時期:
下取車:
下取車の内容:

1
4
1

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
4