LaravelのMailクラスから送信されたメールの本文をキャプチャしようとしています。イベントmailer.sending
のリッスンでSwift_Message
オブジェクトを取得できますが、getBody()
と呼び出すとnullが返されます。mailer.sendingイベントでリッスンするときのgetBody null
ただし、__toString()マジックメソッドを使用してメール全体(ヘッダー付き)を印刷することはできます。電子メールの本文を取得する方法があれば誰でも知っていますか?
ティンカー($メッセージは、イベントの発射から取得される)の使用:Laravelコードを掘り下げる
>>> $message
=> <Swift_Message #000000004598a18f0000000059c6cf6b> {}
>>> $message->getBody();
=> null
>>> echo (string) $message;
Message-ID: <[email protected]>
Date: Fri, 07 Oct 2016 22:41:02 +0000
Subject: ...
From: ...
To: ...
MIME-Version: 1.0
Content-Type: multipart/alternative;
boundary="_=_swift_v4_1475880062_895bd5de56ade4842a3c198ee264ced0_=_"
--_=_swift_v4_1475880062_895bd5de56ade4842a3c198ee264ced0_=_
Content-Type: text/plain; charset=utf-8
Content-Transfer-Encoding: quoted-printable
Email body here
--_=_swift_v4_1475880062_895bd5de56ade4842a3c198ee264ced0_=_--
ライブラリをどのように使用しているのかわかりませんが、コンテストでは '$ message-> getBody();を使う必要がありますか? '$ message-> setBody();の代わりに – Franco
これはLaravelのイベントの発生から取得されます。私は$ message-> getBody()を使用していますが、何らかの理由でnullを返します。 – Devon
メッセージを受け取ろうとしていることを理解しています。ライブラリの使用中にメッセージを設定しましたか?このようにして、 '$ message-> addPart($ body_text、 'text/html')を好むような方法であれば' $ body-> setBody($ body_text) – Franco