Laravel6、docker、Macでアプリの開発を行なっています。
メールのサーバーは、さくらのレンタルサーバーを使用しております。
mailableを使って、お問い合わせフォームの内容が管理者へ送られる様にしたいのですが、お問い合わせフォームを送信したところ。
「Connection could not be established with host :メールサーバのホスト名 :stream_socket_client(): php_network_getaddresses: getaddrinfo failed: Name or service not known」
というエラーになり、お問い合わせフォームの内容が管理者へ送られません。
お問い合わせ内容のDBへの保存はできています。
.envファイルは以下の様に書いています。
MAIL_DRIVER=smtp MAIL_HOST=メールサーバのホスト名 MAIL_PORT=587 #smtpを使用する為、"587"を設定する。。 MAIL_USERNAME=送信先のメールアドレス MAIL_PASSWORD=送信先のメールアドレスに接続する為のパスワード MAIL_ENCRYPTION=tls MAIL_FROM_ADDRESS=Fromアドレスの指定 MAIL_FROM_NAME="${APP_NAME}" MAIL_ADMIN=お問い合わせメールがあった時、管理者側に通知する時のメールアドレス
お問い合わせフォームのcreate / storeのメソッド コントローラー側は以下です。
PHP
1<?php 2 3namespace App\Http\Controllers; 4 5use Illuminate\Http\Request; 6use App\Contact; 7use Illuminate\Support\Facades\Mail; 8use App\Mail\ContactForm; 9 10class ContactController extends Controller 11{ 12 public function create(){ 13 return view('contact.create'); 14 } 15 16 public function store(Request $request) 17 { 18 $inputs=request()->validate([ 19 'title'=>'required|max:255', 20 'email'=>'required|max:255', 21 'body'=>'required', 22 ]); 23 24 Contact::create($inputs); 25 26 Mail::to(config('mail.admin'))->send(new ContactForm($inputs)); 27 Mail::to($inputs['email'])->send(new ContactForm($inputs)); 28 29 return back()->with('message','メールを送信しました。'); 30 } 31} 32
ルート設定 we.phpは以下です。
PHP
1Route::get('/contact/create','ContactController@create')->name('contact.create'); 2Route::post('/contact/store','ContactController@store')->name('contact.store'); 3
モデルファイルは以下です。
PHP
1<?php 2 3namespace App\Mail; 4 5use Illuminate\Bus\Queueable; 6use Illuminate\Contracts\Queue\ShouldQueue; 7use Illuminate\Mail\Mailable; 8use Illuminate\Queue\SerializesModels; 9 10class ContactForm extends Mailable 11{ 12 use Queueable, SerializesModels; 13 14 /** 15 * Create a new message instance. 16 * 17 * @return void 18 */ 19 public function __construct($inputs) 20 { 21 $this->inputs = $inputs; 22 } 23 24 /** 25 * Build the message. 26 * 27 * @return $this 28 */ 29 public function build() 30 { 31 // メールを送信する際にcontact/mail.blade.phpを使ってメール文面を作成する、このときにinputsを利用する 32 return $this->view('contact.mail')->with(['inputs' => $this->inputs]) 33 ->subject('お問い合わせを受け付けました'); 34 } 35} 36
なぜ問い合わせのメールが管理者に送られずにエラーになるのでしょうか?

回答1件
あなたの回答
tips
プレビュー