メールサーバーがなくても送信できる

あだな ≪くれきん≫

毎月のお知らせやイベントの告知などをしたい時に送信のみで、受信する必要がない場合があります。 よく見かける「このメールには返信出来ません」は、ほとんどがPHP(CGI)とメールフォームを使って送信しています。 必要なのはPHPが使えるサーバーだけです。 なければPHPが使える無料レンタルサーバーを借りればOKです。 下のようなフォームを作ってみましょう。

送り先

件名

メッセージ

 

下記のHTMLをコピペすればOK

<!doctype html>
<html lang="ja">
<head>
<meta charset="utf-8">
<title>送信専用フォーム</title>
</head>
<body>

<div style="width:50%;">
  <form class="left" action="test_mail.php" method="post">
    <p>送り先</p><input type="text" name="to" style="width:30%; border:1px solid #00ccff">
    <p>件名</p><input type="text" name="title" style="width:30%; border:1px solid #00ccff">
    <p>メッセージ</p><textarea id="reviewTextarea" name="message" cols="60" rows="10" style="width:80%; border:1px solid #00ccff"></textarea>
    <p><input type="submit" name="send" value="送信"></p>
  </form>
</div>

</body>
</html>

次に下記のPHPコピペして「test_mail.php」と名前を付けて保存、送信専用フォームと同じ場所にアップロードします。

<?php
  mb_language("Japanese");
  mb_internal_encoding("UTF-8");

  $to = $_POST['to'];
  $title = $_POST['title'];
  $message = $_POST['message'];
  
  if(mb_send_mail($to, $title, $message))
  {
    echo "メール送信成功です";
  }
  else
  {
    echo "メール送信失敗です";
  }
 ?>

これで出来上がりました。 でもこのままだと送信者がサーバーのアドレスになってしまうので、こちらの情報が丸出しでセキュリティ上よろしくないです。 また、件名や署名も送信する度に手打ちするのではなく、最初から入れておけば作業が楽なります。 次回はPHPのheader関数を使って任意の送信者名にする方法とジャバスクリプトを使った署名の作り方をご紹介します。

コメントする

オプションで画像を追加します(JPEGのみ)

gotopボタン