0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

laravel の log/mail -- リアルSMTPサーバは諦めて mailhogを触る

Posted at

default インストール時の laravel...

いまどきのLaravel プロジェクトを 新規に立ち上げると、ユーザ登録を備えた初期設定がされています。 ただデスクトップ+開発環境(+オンプレミスサーバ)ではほとんど使えないので、手を入れていく必要があります。

mail が使えないと困る。

初期設定で register してパスワードリセットを試すと、無論 リセットを促すような mailは出せません。そもそも URLもまともではないので意味が有るのかというのはさておき、まずは メール処理は "log" に出されるようなので、どこに log が出ているのか調べます。

log はどこ?

初期設定で "channels" -> driver 'stack' に落ちるとなっています。 この LOG_STACK どこでしょう?

”通常のLOGは/storage/logs/laravel.logに出力される"

なるほどココか。ありました。

strnh@pc:~/workdir/project/storage$ ls -al
合計 24
drwxr-xr-x  6 strnh strnh 4096  2月 27 11:31 .
drwxr-xr-x 13 strnh strnh 4096  2月 27 11:31 ..
drwxr-xr-x  4 strnh strnh 4096  2月 25 00:40 app
drwxr-xr-x  6 strnh strnh 4096  2月 25 00:40 framework
drwxr-xr-x  2 strnh strnh 4096  2月 27 11:36 logs
drwxr-xr-x  2 strnh strnh 4096  2月 27 11:31 pail

中はこんなで・・・

[2025-02-27 02:36:46] local.DEBUG: From: Laravel <hello@example.com>
To: strnh@foobar.com
Subject: Reset Password Notification
MIME-Version: 1.0
Date: Thu, 27 Feb 2025 02:36:46 +0000
Message-ID: <627ff29ce2b820187574c7b0432443fd@example.com>
Content-Type: multipart/alternative; boundary=fmXnJAT_

... 了解。

実在するメールサーバに投げられるようにする。

人間、何をするにも「アクションに対してリアクションがなきゃつまらない」というのがありまして、ごく当たり前機能を使えるようにする所から環境整えます。ということでメールは自前のサーバに投げてテストします。メールが飛ぶだけでイントラネットでゴニョゴニョし始めて触ってもらえるページを作る下地になると思うのでさっさと進めるのです。

  • .env に設定
    そういえば、 .env に書き入れるってのを忘れていましたやばいですね。設定します。

  • MAIL_ENCRYPTION で入れられる文字列?
    さっきからtls って入れてるんですが postfix が弾きます。

with code 1. OpenSSL Error messages: error:0A00010B:SSL routines::wrong version number 

  • メールサーバ屋の言い分:「WEB屋さんの悪いところ」 SMTP仕様を読まないトコロがあります。多分ここは localhostでセキュリティ設定スッカスカのpostfixを建てて、そこから投げるのが定石でしょう。またはsendgrid/mailhog みたいなそっちにすり寄って造られているものに投げる。はい万事ソレで解決です。所詮人間同士が話し合ってないルールの話でつまらないことです。そこはこだわる意味がない。大したことではないし、いちいち気にしては生きていけません。postfixのログみていると、代替SPAM狙いの攻撃で汚される場合にHTTPを投げてくる輩がいたり、そ~いう世界なんだ諦めるしかないのです。

  • ということで、localhost に mailhogでも入れましょう..

ubuntu の golang が古い・・・

strnh@pc:~$ go install github.com/mailhog/MailHog
go: 'go install' requires a version when current directory is not in a module
	Try 'go install github.com/mailhog/MailHog@latest' to install the latest version
hiko@ryzen5700-pc:~$ go install github.com/mailhog/MailHog@latest
go: finding module for package github.com/ian-kent/envconf
go: finding module for package github.com/mailhog/MailHog-Server/api
go: finding module for package github.com/mailhog/MailHog-UI/config
go: finding module for package github.com/mailhog/MailHog-UI/web
go: finding module for package github.com/mailhog/mhsendmail/cmd
go: finding module for package golang.org/x/crypto/bcrypt
go: finding module for package github.com/ian-kent/go-log/log
go: finding module for package github.com/mailhog/MailHog-UI/assets
go: finding module for package github.com/mailhog/MailHog-Server/config
go: finding module for package github.com/gorilla/pat
go: finding module for package github.com/mailhog/http
go: finding module for package github.com/mailhog/MailHog-Server/smtp
go: found github.com/gorilla/pat in github.com/gorilla/pat v1.0.2
go: found github.com/ian-kent/go-log/log in github.com/ian-kent/go-log v0.0.0-20160113211217-5731446c36ab
go: found github.com/mailhog/MailHog-Server/api in github.com/mailhog/MailHog-Server v1.0.1
go: found github.com/mailhog/MailHog-Server/config in github.com/mailhog/MailHog-Server v1.0.1
go: found github.com/mailhog/MailHog-Server/smtp in github.com/mailhog/MailHog-Server v1.0.1
go: found github.com/mailhog/MailHog-UI/assets in github.com/mailhog/MailHog-UI v1.0.1
go: found github.com/mailhog/MailHog-UI/config in github.com/mailhog/MailHog-UI v1.0.1
go: found github.com/mailhog/MailHog-UI/web in github.com/mailhog/MailHog-UI v1.0.1
go: found github.com/mailhog/http in github.com/mailhog/http v1.0.1
go: found github.com/mailhog/mhsendmail/cmd in github.com/mailhog/mhsendmail v0.2.0
go: found golang.org/x/crypto/bcrypt in golang.org/x/crypto v0.35.0
go: found github.com/ian-kent/envconf in github.com/ian-kent/envconf v0.0.0-20141026121121-c19809918c02
go: downloading github.com/gorilla/context v1.1.2
go: downloading github.com/gorilla/mux v1.8.1
go: finding module for package github.com/t-k/fluent-logger-golang/fluent
go: finding module for package github.com/ogier/pflag
go: finding module for package github.com/ian-kent/linkio
go: finding module for package github.com/gorilla/websocket
go: finding module for package github.com/ian-kent/goose
go: finding module for package github.com/mailhog/storage
go: finding module for package github.com/mailhog/data
go: finding module for package github.com/mailhog/smtp
go: downloading github.com/ogier/pflag v0.0.1
go: downloading github.com/gorilla/websocket v1.5.3
go: downloading github.com/mailhog/smtp v1.0.1
go: downloading github.com/mailhog/storage v1.0.1
go: downloading github.com/mailhog/data v1.0.1
go: downloading github.com/t-k/fluent-logger-golang v1.0.0
go: downloading github.com/ian-kent/goose v0.0.0-20141221090059-c3541ea826ad
go: downloading github.com/ian-kent/linkio v0.0.0-20170807205755-97566b872887
go: found github.com/ian-kent/goose in github.com/ian-kent/goose v0.0.0-20141221090059-c3541ea826ad
go: found github.com/mailhog/data in github.com/mailhog/data v1.0.1
go: found github.com/mailhog/storage in github.com/mailhog/storage v1.0.1
go: found github.com/ian-kent/linkio in github.com/ian-kent/linkio v0.0.0-20170807205755-97566b872887
go: found github.com/mailhog/smtp in github.com/mailhog/smtp v1.0.1
go: found github.com/ogier/pflag in github.com/ogier/pflag v0.0.1
go: found github.com/gorilla/websocket in github.com/gorilla/websocket v1.5.3
go: found github.com/t-k/fluent-logger-golang/fluent in github.com/t-k/fluent-logger-golang v1.0.0
go: finding module for package github.com/tinylib/msgp/msgp
go: finding module for package gopkg.in/mgo.v2
go: finding module for package gopkg.in/mgo.v2/bson
go: downloading github.com/tinylib/msgp v1.2.5
go: downloading gopkg.in/mgo.v2 v2.0.0-20190816093944-a6b53ec6cb22
go: found gopkg.in/mgo.v2 in gopkg.in/mgo.v2 v2.0.0-20190816093944-a6b53ec6cb22
go: found gopkg.in/mgo.v2/bson in gopkg.in/mgo.v2 v2.0.0-20190816093944-a6b53ec6cb22
go: found github.com/tinylib/msgp/msgp in github.com/tinylib/msgp v1.2.5
go: downloading github.com/philhofer/fwd v1.1.3-0.20240916144458-20a13a1f6b7c
  • どこに入ったか? ~/go/bin だった。
$ ~/go/bin/MailHog 
2025/02/27 18:59:44 Using in-memory storage
2025/02/27 18:59:44 [SMTP] Binding to address: 0.0.0.0:1025
[HTTP] Binding to address: 0.0.0.0:8025
2025/02/27 18:59:44 Serving under http://0.0.0.0:8025/
Creating API v1 with WebPath: 
Creating API v2 with WebPath: 
^C
  • mailhog をイジるところで今日はおしまいです・・・
0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?