ツイート
シェア
LINEで送る
B! はてぶでブックマーク
Pocketでブックマーク
RSSフィード

WordPress, 既存のメール送信プログラムを使ってオリジナルの送信機能を作る

wordpress image
イラストダウンロードサイト【イラストAC】
の画像をもとに加工しています。

WordPressでオリジナルのメール送信機能をつくりたいとき、WordPressに元々あるメール送信機能を使ってできます。

中身をみるとPHPMailerを使っているので作り方はとてもかんたんです。

サンプルコードで見ていきましょう。

WordPressはPHPMailerを使っている

WordPressのメール送信機能はPHPMailerを使っています。PHPMailerはPHPのメール送信で多く使われているパッケージ。

本来はCompoerというPHPのパッケージ管理コマンドを使ってインストールしますが、WordPressにすでに入っているのでいりません。

WordPressのソースコードにひとつのファイルで収められています。

wp_includes/class-phpmailer.php

たったこれだけ。使い方もPHPMailerと同じです。すでに使ったことのある人にとってはありがたいですね?

サンプルコードを見てみましょう。

WordPressでメールを送信するサンプルコード

最初にサンプルコードの全文です。

メール送信
<?php
/**
 * Create HTML Body
 */
function my_mail_body() {
    ob_start();
?>
<html>
    <body>
        <p>Sample Comment</p>
    </body>
</html>
<?php
    return ob_get_clean();
}

/**
 * Send Mail Original
 */
function my_send_mail() {
    if ( ! class_exists( 'PHPMailer' ) ) {
        require_once ABSPATH . WPINC . '/class-phpmailer.php';
    }
    $mailer = new PHPMailer( true );

    try {
        // Language settings (Japanese support)
        mb_internal_encoding('UTF-8');
        $mailer->CharSet = 'UTF-8';
        $mailer->Encoding = 'base64';

        //Server settings
        $mailer->SMTPDebug = 0;                                 // Enable verbose debug output
        $mailer->isSMTP();                                      // Set mailer to use SMTP
        $mailer->Host       = 'smtp.gmail.com';                 // Specify main and backup SMTP servers
        $mailer->SMTPAuth   = true;                             // Enable SMTP authentication
        $mailer->Username   = 'sample.from@gmail.com';          // SMTP username
        $mailer->Password   = 'sample-pass';                    // SMTP password
        $mailer->SMTPSecure = 'tls';                            // Enable TLS encryption, `ssl` also accepted
        $mailer->Port       = 587;                              // TCP port to connect to

        //Recipients
        $mailer->setFrom('sample.from@gmail.com', 'From Name');
        $mailer->addAddress('sample.to@gmail.com', 'To Name');  // Add a recipient

        // Content
        $mailer->isHTML(true);                                  // Set email format to HTML
        $mailer->Subject = 'Sample';
        $mailer->Body    = my_mail_body();

        $mailer->send();

    } catch (Exception $e) {

    }
}

// send mail
my_send_mail();
  • WordPressのクラスをロード
  • 日本語対応
  • Gmailを使ってメール送信
  • メール本文はHTML
  • メール送信

これだけのことをほんの数十行でできます。

ほんとうはGmailのSMTPの設定情報などwp-config.phpの定数にした方がいい、my_send_mail()にパラメータをつけたほうがいいとかあります。

あとは自分の使い方にあったカスタマイズをしてください。

前の投稿
WordPress 子テーマのCSSで上書きはやめよう。無駄をなくしてサイズを小さくするコツ。
WordPress, 1回のWP_Query実行で全件を取得する
次の投稿

WordPressの本

post-cta-image

たくさんあるなかで、WordPressの基本が学べる、目的別に学べる本を選びました。

  • WordPressの基本。
  • Webサイト作成から運用まで全体的に学ぶ。
  • かんたんなカスタマイズを学ぶ。
  • 何も分からないところから学ぶ。
  • WordPressからPHPプログラミングを学ぶ。

の5冊です。どうしてもネット上で調べて勉強するのが苦手という人におすすめです。

この内容をモノにすればほかの本は必要ありません。あとは自分の力で、書籍を使わずにインターネット上にある情報だけで学んでいけます。

コメントを残す

*