CentOS6

CentOS6のPHPでmb_send_mail関数を使う方法

 CATEGORY LINUX, PHP

smtpサーバーを使わないで簡単にメールを送る方法です。
まずは、postfixをインストールします。

yum install postfix

インストールが終わったら、次にpostfixの設定ファイル「/etc/postfix/main.cf」をバックアップ後に一行変更します。

# バックアップします。
cp /etc/postfix/main.cf /etc/postfix/main.cfbk
# 編集します。
vi /etc/postfix/main.cf

main.cfの251行目のコメントアウトを削除します。

# mynetworks_style = host 251行目のコメントアウトを削除
mynetworks_style = host

postfixをスタートします。

service postfix start

htmlに使用しているディレクトリから、フォーム[mailform.html]とPHP mb_send_mail関数を実行する[mail.php]を作ってメールを送信してみます。

mailform.html

<html>
	<head>
		<meta charset="utf-8" />
	</head>
	<body>
		<form action="./mail.php" method="post">
		<p>受信者</p><input type="text" name="to">
		<p>タイトル</p><input type="text" name="title">
		<p>本文</p><textarea name="message"></textarea>
		<p><input type="submit" name="send" value="送信"></p>
		</form>
	</body>
</html>

mail.php

<html>
<head>
  <meta charset="utf-8" />
</head>
<body>
<?php
  mb_language("Japanese");
  mb_internal_encoding("UTF-8");

  $to = $_POST['to'];
  $title = $_POST['title'];
  $message = $_POST['message'];
  $headers = "From: send@send.jp"; //送信者のアドレスを入力

  if(mb_send_mail($to, $title, $message, $headers))
  {
    echo "メール送信成功です。";
  }else{
    echo "メール送信失敗です。";
  }
 ?>
</body>
</html>

以上でPHPからmb_send_mail関数を使用して簡単にメールを送る方法です。