【Linux-php】メール送信コマンド

その他

概要

Linuxでphpでメールを送信する方法です。

内容

send_mail

以下のphpのソースをtest.phpとして、保存します。黄色の下線のところは必要に応じて変更します。

<?php
$to = "hoge@hoge.jp";
$subject = "HTML MAIL";
$message = "This is HTML MAIL";
$headers = "From: demo@demo.jp";
$headers .= "\r\n";
$headers .= "Content-type: text/html; charset=UTF-8";
mb_send_mail($to, $subject, $message, $headers);
?>

以下のコマンドを実行します。メールが送信されます。

php test.php

send_mailでは、Fromが存在しないアドレスでも送信できてしまいます。

SMTP経由で送信する方法

SMTPを使った送信では、sendmailのように好き勝手にメールを送れるのではなく、メールサーバーを利用して認証を必要としています

SMTPはメールを送信するプロトコルで、実際に使われている外部のSMTPサーバを使用します。
送信したメールが迷惑メールに分類されたり、スパムとしてブロックされたりすることを回避することができます。

phpでSMTPでメールを送信する方法は

もう迷惑メールに入らない!SMTPを使ってPHPでメールを送信する方法 - YCOMのホームページの制作・運営に役立つブログ
ホームページを作ったら、必ずと言っていいほど設置するのがフォームですね。問い合わせや資料請求、イベントへの申し

php.intで設定

SMTPの設定はphp.iniから変更することができます。php.iniの[mail function]部分の「SMTP」にSMTPサーバ名、「smtp_port」にポート番号を記述します。

[mail function]
; http://php.net/smtp
SMTP = smtp.xxxxx.com
; http://php.net/smtp-port
smtp_port = 587
PHP | php.iniの設定 - メール使用のための環境設定
php.iniの設定