リクエストからメールを送信するモジュールがあるプロジェクトがあります。私は電子メールテンプレートにbeautymailパッケージを使用しています。 Gmailアカウントを使用してメールを送信できますが、クライアントから受け取ったこのメールに、カスタムのメールアドレスが含まれています。この[email protected]のように、電子メールはSMTPサーバーであると彼らは言った。それで、_.env
_およびその他の構成ファイルをlaravelで構成してみました。しかし、送信時にこのエラーが発生しますConnection could not be established with Host mail.propnex.sg :stream_socket_client(): SSL operation failed with code 1. OpenSSL Error messages: error:1408F10B:SSL routines:ssl3_get_record:wrong version number
このエラーが発生した理由を誰かに教えてもらえますか?これを取り除くにはどうすればよいですか?どうもありがとう
.env構成
_MAIL_DRIVER=smtp
MAIL_Host=mail.propnex.sg
MAIL_PORT=587
[email protected]
MAIL_PASSWORD=xxxxxxxx
MAIL_ENCRYPTION=ssl
_
Mail.php
_ 'from' => [
'address' => '[email protected]',
'name' => 'Propnex',
],
'reply_to' => ['address' => '[email protected]', 'name' => 'Propnex'],
'encryption' => env('MAIL_ENCRYPTION', 'tls'),
'username' => env('MAIL_USERNAME'),
'password' => env('MAIL_PASSWORD'),
'port' => env('MAIL_PORT', 587),
'driver' => env('MAIL_DRIVER', 'smtp'),
'Host' => env('MAIL_Host', 'mail.propnex.sg'),
_
このように.envとmail.phpファイルに小さな変更を加えることで解決しました
MAIL_ENCRYPTION=""
'encryption' => env('MAIL_ENCRYPTION', ''),
私のこの無担保/代替の答えの欠点は何ですか?フィードバックが欲しい。どうもありがとう。
SSL(MAIL_ENCRYPTION = ssl)を使用しているため、.envファイルのMAIL_PORT = 465を変更する必要があります。
You are setting mail encryption as tls in mail.php and on the other hand in the env file
you are setting it to ssl. Try setting it the same in both the files.
But i would recommend that you skip the certificate.
You can skip verification of the ssl certificate by using the code below in the mail.php file:
'stream' => [
'ssl' => [
'allow_self_signed' => true,
'verify_peer' => false,
'verify_peer_name' => false,
],
],
あなたはあなたが持っているすべての行のビットをチェックしたかもしれません。問題は、mailtrap.io自体にあります。あなたの設定が実際に以下のような場合。
MAIL_MAILER=smtp
MAIL_Host=smtp.mailtrap.io
MAIL_PORT=2525
MAIL_USERNAME=31466861b7bXXX
MAIL_PASSWORD=fe2b6503618XXX
MAIL_ENCRYPTION=null
このエラーを証明するために、2つの別個のフレームワークでテストしました。 SMTP資格情報を確認して、資格情報をリセットしてください。