速報

X.Orgのクライアントライブラリーで17件を修正!Linux端末と画像処理の利用範囲を点検

CATEGORY

【PHPMailer】さくらインターネットのメールアドレスで送信する方法

※本ページのリンクにはプロモーションが含まれています。

phpmailer

目次

本記事では、PHPMailerというライブラリを使って、さくらインターネットで作成したメールアドレスでメールを送信する方法をご紹介しています。

PHPMailerでさくらのレンタルサーバで作成したメールアドレスを使いたいけど、どうすればいいのかな?

上記の疑問にお答えできればと思います。

では、解説していきます。

スポンサーリンク

何はともあれPHPMailer

まずはPHPMailerを使用できる状態にしていきます。下記のいずれかの方法で本体を取得しましょう。

Composerで取得する

Composerでさくっとインストールする、という方は下記のコマンドをどうぞ!

composer require phpmailer/phpmailer

composer.jsonがない場合は下記で初期化してくださいね。

composer init

インストールが終わりましたら、PHPMailerを使用するファイルの先頭に下記を追記すれば準備完了です。

<?php

use PHPMailer\PHPMailer\PHPMailer; use PHPMailer\PHPMailer\SMTP; use PHPMailer\PHPMailer\Exception;

require 'vendor/autoload.php';

Composerは偉大ですね!

ダウンロードで取得する

とりあえずダウンロードで使ってみようかな、という方は下記のURLからどうぞ!

ダウンロードしたファイル一式をプロジェクトの配下に設置し、マニュアルでPHPMailerを呼び出せば準備完了です。

<?php

use PHPMailer\PHPMailer\PHPMailer; use PHPMailer\PHPMailer\Exception;

require 'path/to/PHPMailer/src/Exception.php'; require 'path/to/PHPMailer/src/PHPMailer.php'; require 'path/to/PHPMailer/src/SMTP.php';

これでPHPMailerが使えるようになりました。続いてさくらのレンタルサーバで作成したメールアドレスでメールを送信してみましょう。

SMTP認証後にメールを送信する

こちらはSMTP認証を通してメールを送信する方法です。前項でPHPMailerを使用できるようにした後、下記を追記します。各値は環境に合わせて変更してくださいね!

$mail = new PHPMailer(true);

try { //ホスト(さくらのレンタルサーバの初期ドメイン) $host = 'xxx.sakura.ne.jp'; //メールアカウントの情報(さくらのレンタルサーバで作成したメールアカウント) $user = 'info@xxx.co.jp'; $password = 'password'; //差出人 $from = 'info@xxx.co.jp'; $from_name = 'Info'; //宛先 $to = 'yamada_taro@xxx.co.jp'; $to_name = 'Taro Yamada'; //件名 $subject = 'メールの件名'; //本文 $body = 'メールの本文';

//諸々設定 //$mail->SMTPDebug = 2; //デバッグ用 $mail->isSMTP(); $mail->SMTPAuth = true; $mail->Host = $host; $mail->Username = $user; $mail->Password = $password; $mail->SMTPSecure = 'tls'; $mail->Port = 587; $mail->CharSet = "utf-8"; $mail->Encoding = "base64"; $mail->setFrom($from, $from_name); $mail->addAddress($to, $to_name); $mail->Subject = $subject; $mail->Body = $body;

//メール送信 $mail->send();

} catch (Exception $e) { echo '失敗: ', $mail->ErrorInfo; }

これでさくらインターネットで作成したメールアドレスで、SMTP認証を通してメールを送信することができるようになりました。PHPMailerは本当に使いやすいライブラリですね!

スポンサーリンク

SMTP認証せずにメールを送信する

こちらは番外編です。

メールフォームなどでメールアカウントを使用する場合、セキュリティの観点からSMTP認証を通してメールを送信する方法が推奨されています。ただ実際にWeb制作をしていると、わざわざ認証を通す必要はない、というクライアントもいますよね…。

そういった場合は下記のような最低限の記述で一応メールを送信することができます。

$mail = new PHPMailer(true);

try { //ホスト(さくらのレンタルサーバの初期ドメインを指定) $host = 'xxx.sakura.ne.jp'; //差出人(作成したメールアドレスを指定) $from = 'info@xxx.co.jp'; $from_name = 'Info'; //宛先 $to = 'yamada_taro@xxx.co.jp'; $to_name = 'Taro Yamada'; //件名 $subject = 'メールの件名'; //本文 $body = 'メールの本文';

//諸々設定 $mail->Host = $host; $mail->Port = 587; $mail->CharSet = "utf-8"; $mail->Encoding = "base64"; $mail->setFrom($from, $from_name); $mail->addAddress($to, $to_name); $mail->Subject = $subject; $mail->Body = $body;

//メール送信 $mail->send();

} catch (Exception $e) { echo '失敗: ', $mail->ErrorInfo; }

ただ、この方法だとSMTP認証が必須になった瞬間にメールが送信できなくなるので注意が必要です。メールフォームなどでメールアドレスを使用する場合、基本的にSMTP認証を通してメールを送信するようにしましょう!

最後に

PHPMailerは長いことお世話になっているライブラリで、今後もお世話になっていくだろうと思います。メールを送信するという利用なので一度設定してしまえば他の案件にも使うことができるという点も魅力ですよね。

PHPMailerでさくらインターネットで作成したメールアドレスの使用を検討されている方、ぜひ本記事を参考に構築していただければ幸いです。

以上、PHPMailerを使ってさくらインターネットで作成したメールアドレスでメールを送信する方法のご紹介でした!

この記事を書いた人

Ryohei

Webエンジニア / アプリ開発者 / 技術ブログ運営者

福岡のWeb制作会社に勤務するWebエンジニアです。10年以上にわたりWeb制作・開発に携わり、これまでに100以上のWordPressサイトの構築・保守を担当してきました。Webサイト制作に加え、アプリ開発やAIを活用した開発にも取り組み、近年はWebセキュリティにも注力しています。

2015年から技術メディア「Into the Program」を運営し、実務や開発で得た知識をもとに、プログラミングの実装方法やWebサイトの運用・セキュリティ情報を発信しています。

主な分野
WordPress / PHP / JavaScript / アプリ開発 / Webサイトの運用・セキュリティ対策
資格・試験合格
情報セキュリティマネジメント試験
基本情報技術者試験
AWS認定ソリューションアーキテクト アソシエイト
メディア運営
2015年〜

記事の作成・更新について

セキュリティ記事は、ベンダーの公式アドバイザリやCVE・JVNなどの一次情報を参照し、出典と情報確認日を記載します。実環境での検証を行った場合は、その環境と確認範囲を明示します。重要な追加情報や誤りを把握した場合は、内容を確認して追記・訂正します。

スポンサーリンク

関連する記事

おすすめの書籍