ログイン時に自動的にメールを送信する方法

[WordPress] ログイン時に自動的にメールを送信する方法

※ 当サイトは広告を含みます。

WordPressのログイン時に自動的にメールを飛ばす方法です。
これで自分以外の怪しいログインを検知するような使い方ができます。

◆ 安全にfunctions.phpをカスタマイズする方法
functions.phpの修正に不安がある人は以下を参考にしてください。

コードを追加する

functions.phpとかに以下のコードを追加します。


// ログイン時に自動的にメール送信
add_filter('wp_login', function ($username, $user) {
  wp_mail(
    get_option('admin_email'),
    '[' . get_option('blogname') . '] Login Notification',
    $username . ' logged into the <' . home_url() . '>.'
  );
}, 1, 2);

仕組み

wp_mail()でメールが飛ばせます。

引数に指定したget_option('admin_email')は管理者のメールアドレスを取得します。
ちなみに2つ目がメールの件名で3つ目が内容です。ブログ名とユーザー名を指定してます。

なお、そもそもメール機能を無効化してる場合はwp_mail()が機能しません(たぶん)。
WordPress更新時やコメント投稿時にメールが飛んでる人なら動くと思います。

あとがき

この方法だと、スパム扱いされる可能性があるらしいが全然そんなことない。
まぁ、結局はスパム扱いするのは受信側の問題なので、Gmailみたいな最強クライアント使えばOK。

この記事は参考になりましたか?

関連記事

コメント

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