【PHP】メールを送信する基本的な方法

PHPでは、mail()関数を使用してメールを送信することができます。この関数は、サーバーに設定されたメールサーバーを利用して、指定した宛先にメールを送信します。

基本的な使用例

<?php
$to = "recipient@example.com";
$subject = "Test Email";
$message = "This is a test email.";
$headers = "From: sender@example.com";

// メールを送信
if (mail($to, $subject, $message, $headers)) {
    echo "メールが送信されました。";
} else {
    echo "メール送信に失敗しました。";
}
?>
  • $to: 送信先のメールアドレス
  • $subject: メールの件名
  • $message: メールの本文
  • $headers: 追加のヘッダー情報(送信元のメールアドレスなど)

複数のヘッダーを追加する方法

メールに複数のヘッダーを追加することも可能です。たとえば、CcやBccを追加したい場合は、以下のようにヘッダーを設定します。

$headers = "From: sender@example.com\r\n";
$headers .= "Cc: another@example.com\r\n";
$headers .= "Bcc: hidden@example.com\r\n";

“\r\n”は、複数行のヘッダーを区切るために使用される改行コードです。

HTMLメールを送信する方法

HTMLメールを送信する場合、Content-typeヘッダーを追加し、メール本文をHTML形式で作成します。

<?php
$to = "recipient@example.com";
$subject = "HTML Email";
$message = "
<html>
<head>
<title>HTML Email</title>
</head>
<body>
<h1>This is a Heading</h1>
<p>This is a paragraph.</p>
</body>
</html>
";

$headers = "MIME-Version: 1.0\r\n";
$headers .= "Content-type: text/html; charset=UTF-8\r\n";
$headers .= "From: sender@example.com\r\n";

if (mail($to, $subject, $message, $headers)) {
    echo "HTMLメールが送信されました。";
} else {
    echo "HTMLメール送信に失敗しました。";
}
?>

注意点

  • mail()関数は、PHPが動作するサーバーに適切なメールサーバーが設定されている必要があります。
  • より高度なメール送信機能が必要な場合、PHPMailerやSwiftMailerなどのライブラリを使用することを検討してください。

まとめ

PHPでメールを送信する際には、mail()関数を利用して簡単にメールを送信することができますが、HTMLメールや複数のヘッダーを追加する場合は注意が必要です。より高度な機能が必要な場合は、専用のライブラリを活用すると良いでしょう。