Office関連

PHPMailerを使ってOffice 365のSMTP経由でメール送信する方法

Microsoft CommunityにPHPからOffice 365経由でメール送信する方法についての質問がありました。

これまでPHPからメール送信したことはありましたが、Office 365のSMTPサーバーを経由して送信したことは無かったので、良い機会なので私も試してみることにしました

PHPMailerの使用

メール送信には定番の「PHPMailer」を使います。

使い方は簡単で、GitHubからzipファイルをダウンロード・解凍して、「PHPMailerAutoload.php」ファイルを読み込むだけです。

サーバー情報

認証時に必要となるサーバー情報は下記サポートページに記載されています。

・一般法人向け Office 365 用の Outlook POP および Outlook IMAP の設定 – Office のサポート
https://support.office.com/ja-jp/article/7fc677eb-2491-4cbc-8153-8e7113525f6c

メール送信を行うので、使うのはSMTPサーバーだけですね。

smtp.office365.com : 587ポート(TLS)

PHPMailerを使ってOffice 365のSMTP経由でメール送信するコード

さっそく書いたのが下記コードになります。

※ ユーザー名やパスワード、本文や宛先など、必要に応じて変更する必要があります。

<?php
  error_reporting(E_ALL & ~E_NOTICE);
  require_once "./PHPMailer/PHPMailerAutoload.php"; //ライブラリー読込
  
  //認証情報
  $host = "smtp.office365.com";
  $smtp_user = "user@***.onmicrosoft.com";
  $smtp_password = "*****";
  $from = "user@***.onmicrosoft.com";
  $fromname = "テスト差出人";
  
  //宛先・件名・本文
  $to = "user@***.onmicrosoft.com";
  $subject = "テストメール";
  $body = "メール本文\nあいうえお\nABCDEFG";
  
  $mail = new PHPMailer();
  $mail->IsSMTP();
  $mail->SMTPAuth = true;
  $mail->SMTPDebug = 2;
  $mail->CharSet = "utf-8";
  $mail->SMTPSecure = "tls";
  $mail->Host = $host;
  $mail->Port = 587;
  $mail->IsHTML(false);
  $mail->Username = $smtp_user;
  $mail->Password = $smtp_password; 
  $mail->SetFrom($smtp_user);
  $mail->From = $fromaddress;
  $mail->FromName = $fromname;
  $mail->Subject = $subject;
  $mail->Body = $body;
  $mail->AddAddress($to);
  if(!$mail->Send()){
    echo "Error : " . $mailer->ErrorInfo;
  }

送信結果

上記コードを実行すると、特に問題なくメールが送信され、下図のように無事に受信できることも確認しました。

PHPMailer_Office365_01

こんな短いコードで外部のメールサーバーからメール送信できる「PHPMailer」はホント便利だと思います。

【オトカドール】ライバルカード第1弾カード一覧前のページ

PDFを他のファイル形式に変換するVBAマクロ次のページ

関連記事

  1. Office関連

    プログラムのソースコードを別の言語に変換するVBAマクロ

    SharpDevelopが公開している、ソースコードを変換するAPI「…

  2. Office関連

    [PowerPoint]Applicationオブジェクトのイベントを利用する

    PowerPointのApplicationオブジェクトには、スライド…

  3. Office関連

    Office XP Developer Toolsでリボン対応のCOMアドインを作成する。

    「Visual Basic 6でリボン対応のアドインを作成する」ではV…

  4. Office アドイン

    Office用アプリ(apps for Office)の概要と開発方法

    当ブログでもカテゴリー:JavaScript API for Offi…

  5. Excel

    OneNoteのノート名を列挙するマクロ

    今回はOneNoteのノート名を列挙するマクロを紹介します。O…

  6. Office関連

    組み込み定数を列挙するVBAマクロ

    定数の名前や値を調べたい、そんなときはTypeLib Informat…

コメント

  • コメント (0)

  • トラックバックは利用できません。

  1. この記事へのコメントはありません。

Time limit is exhausted. Please reload CAPTCHA.

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

Translate

最近の記事

アーカイブ

PAGE TOP