web-dev-qa-db-ja.com

応答コード220が必要ですが、メッセージ「」とともにコード「」を取得しました

Laravelアプリケーションでコンタクトフォームを送信するたびに、タイトルにエラーメッセージが表示されます。 このディスカッション の推奨事項に従いましたが、 php artisan cache:clearおよびphp artisan config:cacheの後でも効果はありません。関連するコードは次のとおりです。

。env

MAIL_DRIVER=smtp
MAIL_Host=smtp.gmail.com
MAIL_PORT=587
[email protected]
MAIL_PASSWORD=password
MAIL_ENCRYPTION=ssl

config/mail.php

<?php

return [
    'driver' => env('MAIL_DRIVER', 'smtp'),
    'Host' => env('MAIL_Host', 'smtp.gmail.org'),
    'port' => env('MAIL_PORT', 587),
    'from' => [
        'address' => env('MAIL_FROM_ADDRESS', '[email protected]'),
        'name' => env('MAIL_FROM_NAME', 'Example'),
    ],
    'encryption' => env('MAIL_ENCRYPTION', 'tls'),    
    'username' => env('MAIL_USERNAME'),
    'password' => env('MAIL_PASSWORD'),
    'sendmail' => '/usr/sbin/sendmail -bs',
    'markdown' => [
        'theme' => 'default',

        'paths' => [
            resource_path('views/vendor/mail'),
        ],
    ],

];

ドキュメントから、他のfromアドレスが指定されない限り、グローバルな「from」は起動しないという印象を受けましたが、メールのコントローラーで、連絡フォームに指定されたアドレスを「from」として指定しました。どういうわけかその矛盾点?エラーメッセージの詳細からではないようです。

お問い合わせフォームは個別のビューではなく、メインページビューの下部であるため、Controller関数はPageControllerにあります。

public function postContact(Request $request) {
    $this->validate($request, [

      'email' => 'required|email',
      'subject' => 'required|min:3',
      'message' => 'required|min:10'
    ]);

    $data = array(
      'email' => $request->email,
      'subject' => $request->subject,
      'mailbody' => $request->message
    );

    Mail::send('emails.contact', $data, function($message) use ($data) {
      $message->from($data['email']);
      $message->to('[email protected]');
      $message->subject($data['subject']);
    });
  }
8
user968270

メール送信者(_MAIL_FROM_ADDRESS_)を、メールの送信に使用するGmailとして定義する必要があると思います。

たとえば、_MAIL_USERNAME_の_.env_が[email protected]の場合、_MAIL_FROM_ADDRESS_(またはもちろん$mail->from())を定義する必要がありますas [email protected]

Gmailでは別のユーザー(別のアドレス)としてメールを送信できないと思います。

5
Uğur Arıcı

同様の問題 587ポート

MAIL_DRIVER=smtp
MAIL_Host=smtp.gmail.com
MAIL_PORT=587
[email protected]
MAIL_PASSWORD=mypassword
1
Takamura

同じエラーが発生しました。EMAIL_ENCRYPTIONを変更すると問題なく動作しました。変更する前は'encryption' => env('MAIL_ENCRYPTION', 'tps'),でした'encryption' => env('MAIL_ENCRYPTION', ''),

0
Pyuri Sahu
MAIL_DRIVER=smtp
MAIL_Host=smtp.gmail.com
MAIL_PORT=465
[email protected]
MAIL_PASSWORD=secreat
MAIL_ENCRYPTION=ssl

.envファイルの上記のコードを更新してから、ターミナルでこれらのコマンドを実行します

  1. composer dump-autoload

  2. php artisan serve

0
sparsh turkane