ローカルホストにインストールしたWordPressからメールを送信する必要がありますか?
新しいサイトやプラグイン、テーマを開発したりテストしたりするときに、自分のコンピューターでWordPressをlocalhostから実行するのは便利です。しかし、サイトがオフラインであるため、初期設定ではメールが有効化されていないため、localhostでWordPressのメールを設定するのは厄介です。
この投稿では、WordPressのメールをlocalhostから受信する方法を紹介します。
なぜローカルホストでWordPressを動かすのか?
WordPressサイトに大きな変更を加える前に、まずユーザーには見えない別のサイトでその変更をテストすることをお勧めします。
ステージングサイトは、ライブサイトのクローンであり、ライブサイトを作成する前に変更をテストするために使用されます。ステージングサイトは、本番サイトを壊してしまわないようにエラーをキャッチするのに役立ちます。
多くのユーザーは、WordPressステージングサイトをWindowsまたはMacコンピューターにローカルインストールする。サイトがテストされると、ローカルホストからライブサーバーにアップロードします。
WordPressがメールを送信しようとすると、「Could not instantiate mail function」というエラーメッセージが表示されることがあります。これは、WAMPやMAMPサーバースタックではメールが初期設定で有効化されていないためです。
ということで、WordPressのメールをlocalhostから受信する方法を見てみましょう。
WordPressのメールをLocalhostから受信する方法
最初に行う必要があるのは、ローカルサーバー上のWordPressインストールにWP Mail SMTPプラグインをインストールして有効化することです。詳しくは、WordPressプラグインのインストール方法のステップバイステップガイドをご覧ください。
WP Mail SMTPはWordPressの初期設定のメール送信機能を引き継ぎ、代わりにSMTPプロバイダーを経由してメールが送信されるようにします。つまり、ステージングサイトがインターネット上に公開されていなくても、サイトからのメール通知を受け取ることができます。
WP Mail SMTPプラグインの使用に関する詳細は、WP Mail SMTPレビューをご覧ください。
WP Mail SMTPの設定
プラグインを有効化すると、WP Mail SMTPセットアップウィザードが自動的に開始します。
最初にすべきことは、SMTPサービスプロバイダーを選ぶことである。
プロバイダー選びについては、メール到達性の高いベストSMTPサービスプロバイダーのガイドをご覧ください。よくわからない場合は、SendinblueがほとんどのWordPressサイトに適しています。
WP Mail SMTPウィザードのステップに従います。ヘルプが必要な場合は、Sendinblue、Gmail、Microsoft Outlook、またはAmazon SESで WP Mail SMTPをセットアップする方法についてのガイドに従ってください。
注:SMTPメーラーサービスとしてAmazon SES、Microsoft Outlook、またはSoho Mailを使用する場合は、WP Mail SMTP Proライセンスを購入する必要があります。
セットアップ中、メール到達性とエラートラッキングは自動的に有効化されます。Proバージョンのユーザーは、メールのログ記録を有効にしたり、初期設定の通知を管理することもできます。
テストメールの送信
WP Mail SMTPの設定が完了したら、プラグインが正しく設定されていることを確認するためにテストメールを送信することができます。
そのためには、管理メニューのWP Mail SMTP ” Tools を開き、’Email Test’ ページを見る必要があります。初期設定では、テストメールはサイトの管理者メールアドレスに送信されますが、’送信先’フィールドに別のメールアドレスを入力することで変更できます。
HTML」設定を「オン」にしておき、「メールを送信」ボタンをクリックすることをお勧めします。WordPressが入力されたアドレスにテストメールを送信しようとします。
メールの設定に問題がある場合は、問題を解決するための手順とともに、問題を説明するメッセージが表示されます。
手順に沿って問題を解決した後、WordPressのメールが機能していることを確認するために、もう一度テストメールを送信してください。
WP SMTP Mailの設定が正しければ、受信トレイにメールがあるはずです。
テストメールでは画像が崩れていることにお気づきでしょうが、これはlocalhostからメールを送信する場合にはまったく正常なことです。通常、画像はインターネットから読み込まれますが、ローカルホストのサイトはオンラインではないからです。
テストメールが正常に送信された場合でも、WP Mail SMTPがDMARC、DKIM、またはSPFレコードの問題を検出した可能性があり、到達性の問題が発生する可能性があります。DNSレコードを正しく設定するのに役立つステップバイステップのガイドへのリンクが表示されます。
さらに詳しくは、WordPressからテストメールを送信する方法をご覧ください。
問題を修正し終えたら、もう一度テストメールを送信して、すべてが正常に機能していることを確認しましょう。
WordPressメール通知の無効化 – プロユーザー
これでlocalhostからWordPressのメールが届くようになります。これには、プラグインの更新、テーマの更新、コアの更新に関する通知メールが含まれます。また、サイト管理者の変更、パスワードのリセット、新規ユーザーの登録などに関するメールも届きます。
メールの受信が多すぎると感じるかもしれません。あるいは、サイトの開発やテスト中に、特定のメール通知を無効化したい場合もあるでしょう。
WP Mail Proユーザーは、localhostから送信されるメールをコントロールすることができます。WP Mail SMTP ” Settingsにアクセスしてください。ページ上部の「メールコントロール」タブをクリックします。ここで、受信したくないメールを無効化することができます。
例えば、モデレーション待ちのコメントに関するメールを受け取りたくない場合は、設定をオフに切り替えるだけです。
このチュートリアルで、WordPressのメールをlocalhostから受信する方法をご理解いただけたでしょうか。また、無料メールドメインの取得方法や、WordPressの一般的なエラーとその修正方法のリストもご覧ください。
If you liked this article, then please subscribe to our YouTube Channel for WordPress video tutorials. You can also find us on Twitter and Facebook.
Geoff
This post is WAY out of date. You now need to set up an API and OAuth on Google. The WP Forms website has full details, but allow 15-20 minutes to do so.
WPBeginner Support
The post was last updated in 2014, thank you for letting us know we should look into updating this post
管理者
Gerard Chartier
I have just tried this out and it does still work but you have to set “Allow less secure apps: ON” in your Google account, which is not recommended.
WPBeginner Support
Thank you for sharing that this still works and how to get it to work.
Prashant Sontale
I installed the plugin but I cant see the options such as those iin Mailer and also cant view the option of SMTP Host, Port, Authentication, Username, Password, etc. In mailer I haveoptions such as PHP, Google, Maligun, Sendgrid, Other SMTP. If I click on Google, they ask Client ID and Client Secret.
What to do?
Carla
That is to send… smtp… not to recieve the email on wordpress… POP3
swarna
my email is not working
Barka Piy Ndahi
Thanks for the tutorial.
I have xampp and i tried above. It showed test message sent, though below i saw: 2017-10-20 13:06:18 SMTP Error: Could not connect to SMTP host.
And i didnt see in my yahoo box.
Please can you help me make this to work.
Thank you.
Ashan Rupasinghe
That’s Worked. Thanks.
sudhakar
Hi i did the same but i have did not get any email for contact form and product enquiry form think that in localhost mail system does not works or there is an idea means please help me
Vivekraj
Hi new user registration mail contact us mail are working but woocommerce order mail and all not sending to the customers.
mukesh
i m mukesh
this is too good
surati
not work so work for me thnq…
Maksym
Works very good! Thank you
Steve
You have to go into your Google account and turn on the feature “Sign In & Security > Connected Apps & Sites > Allow Less Secure Apps > ON”.
Warren
Hi Steve
What’s the navigation to get to the sign in and security > connected apps etc? Loads of tabs on the top once in settings, each with multitude of options.
Thanks,
Shashank Chattopadhyaya
From your Google account:
[Settings -> Accounts and Import -> Other Google Account settings -> Sign-in & security -> Connected apps & sites -> Allow less secure apps (turn ON)]
Sharon
Same here. Otherwise gmail would authenticate because of the “Less secured application”
saurabh
awesome..blowsome.. worked!!
make sure your gmail has access to third party apps to send email.nothing else is needed than this video. good work . loved it.
Pam Marshall
Just what I needed to do my testing.
Roger Moore
I worked well after I enable access to less secure apps in my gmail account. Thanks
Chetan Buddh
array (size=18)
‘authenticate’ => string ‘SMTP Error: Could not authenticate.’ (length=35)
‘connect_host’ => string ‘SMTP Error: Could not connect to SMTP host.’ (length=43)
‘data_not_accepted’ => string ‘SMTP Error: data not accepted.’ (length=30)
‘empty_message’ => string ‘Message body empty’ (length=18)
‘encoding’ => string ‘Unknown encoding: ‘ (length=18)
‘execute’ => string ‘Could not execute: ‘ (length=19)
‘file_access’ => string ‘Could not access file: ‘ (length=23)
‘file_open’ => string ‘File Error: Could not open file: ‘ (length=33)
‘from_failed’ => string ‘The following From address failed: ‘ (length=35)
‘instantiate’ => string ‘Could not instantiate mail function.’ (length=36)
‘invalid_address’ => string ‘Invalid address’ (length=15)
‘mailer_not_supported’ => string ‘ mailer is not supported.’ (length=25)
‘provide_address’ => string ‘You must provide at least one recipient email address.’ (length=54)
‘recipients_failed’ => string ‘SMTP Error: The following recipients failed: ‘ (length=45)
‘signing’ => string ‘Signing Error: ‘ (length=15)
‘smtp_connect_failed’ => string ‘SMTP connect() failed.’ (length=22)
‘smtp_error’ => string ‘SMTP server error: ‘ (length=19)
‘variable_set’ => string ‘Cannot set or reset variable: ‘ (length=30)
this error come what can i do now?
i can’t understand.
plz help me guyz.
Dan Canetti
Hi,
Looks as though it’s failed to Authenticate. Try ensuring your Email and Password are entered correctly.
Gabriel Hernández
Thanks! Works!=)
I will save this great website.
Daniel
Works! Thamks for the manual. Google asks to ‘Enable access for less secure apps’ in Gmail, but for testing purposes I see no problem..
deepika
It shows ‘Test message sent’ but I didn’t get any mail.
CarolineElisa
Thanks for this suggestion, but I can only get it to work if I ‘Enable access for less secure apps’ in Gmail, which Google does not recommend. Any other tips?
Marty
Tried this, no luck Any other suggestion? Thanks!
Marty
Hi! Thank you for a great article. I’m trying it all out, but still get an error when sending the test email: SMTP -> ERROR: Failed to connect to server: Operation timed out (60). So I did as suggested, added extension=php_openssl.dll. But nothing seems to work Anyone have another idea? Thanks!
Jesse Brownstein
After sending the test email, the browser loads infinitely without any indication of success/failure. How can I fix?
jam
Thanks very much for sharing your knowledge
Joker
This suggestion should work, But if you got error saying “Failed to connect to server: Unable to find the socket transport “ssl” ” ,
Then Please do the following
1. Edit your php.ini from your installed php folder
2. Search for extension=php_openssl.dll
3. The initial will look like this ;extension=php_openssl.dll
Remove the ‘;’ and it will look like this extension=php_openssl.dll
If you can’t find the extension=php_openssl.dll, add this line extension=php_openssl.dll.
4.Then restart your Xampp or LAMP or APACHE server (depends upon which of these you’re using).
Syed
Nice article. Helped me. Works for me. Thanks.
Komalchand
I used your setting for localhost but it din’t works where it works for my test server. so ur suggestion will be helpful for me. Thanks
Easy
sory if my question sounds sily bt which inbox am I to check?. am on a local machine without an internet service. or do I need internet to receive the mail?
WPBeginner Support
yes you will need an internet connection to receive email.
管理者
Bhargav
I didnt get email. Please help me.
WPBeginner Support
Make sure that you have correctly entered Gmail SMTP settings.
管理者
Cristian Nebunu
This is actually really helpfull. I needed to test some custom features and now i know how.
adolf witzeling
Very helpful. Thanks for sharing.