「Members Import」ユーザーを一括csv登録してメール送信する方法

本ページにはプロモーションが含まれています。
しろやぎさんからお手紙ついた?WordPress
しろやぎさんからお手紙ついた?
しろやぎさんからお手紙ついた?

WordPress の Members Import で mail が does not send な件。

ユーザー情報をcsvファイルから一括登録できるプラグイン「Members Import」。
ユーザー登録自体は全く問題なく完了したのですが、登録されたユーザーに送信されるはずのメールが全く送信されません。

いろいろ調べた結果、なんとかメール送信されるようになりましたので、そのメモです。
[adsense]

修正方法

wp-content/plugins/members-import/members-import.phpの中身を1カ所だけ修正したら、メール送信されるようになりました。

修正箇所は以下の1カ所です。

Before

wp_new_user_notification( $user_id, $userdata[‘user_pass’] );

After

wp_new_user_notification( $user_id, $userdata[‘user_pass’],1 );

メールが送信されない理由

wordpress4.3.1のアップデートで、メール送信部分の関数wp_new_user_notificationの仕様が少し変わったそうです。

WordPress 4.3.1 changed wp_new_user_notification() again, conflicting s2member v150827 · Issue #732 · wpsharks/s2member
The change in WordPress 4.3.1 wp_new_user_notification() pluggable function effectively undoes the fix in the latest s2member version, which was extensively dis...

wp_new_user_notification関数自体は、以下のファイルで定義されていますが、

wp-includes/pluggable.php

引数の数が2つから3つになった、と。

呼び出し側では2つしか渡していなかったので3つ目を追加し、無事メール受信。

パスワードが未設定の場合は、パスワード生成ページのリンクを作成して、登録ユーザーへメールする、という仕様のようです。
なので、パスワード含めてcsvで一括登録した場合はそもそも送信されない、かもしれません。

コメント

タイトルとURLをコピーしました