dounokouno / TransmitMail

Copyright表示不要のPHP製汎用メールフォームシステム
http://etc.dounokouno.com/TransmitMail/
MIT License
142 stars 48 forks source link

htmlメールを送りたいのですが、可能でしょうか #82

Closed ts-mori closed 1 year ago

ts-mori commented 2 years ago

dounokouno様

いつもお世話になっております。

htmlタグを使った返信メールを作成しましたが、タグがそのままテキストと して、表示されてしまいました。 調べたのですがメールのヘッダに Content-Type: text/html; などの、約束事を書かないといけないようです。

TransmitMail.phpの1615行目に header('Content-type: ' . $this->getMimeType($file)); の記述があるので、なにかを触ればhtmlメールを送れるようになるとは 思うのですが、phpは全く分からず、どのように直したらいいのかわかりません。

もし、可能でしたら、htmlメールを送れるようになる手法をご教示いた だけないでしょうか? どうぞよろしくお願いいたします。

dounokouno commented 2 years ago

@ts-mori 様

利用しているメール送信用ライブラリの Qdmail のドキュメントを読みますと、 $mail->text$mail->html に書き換えることで HTML メールを送信することができるようです。

lib/TransmitMail.php の該当箇所は下記の通りです。

https://github.com/dounokouno/TransmitMail/blob/10c3a3fea0b13bf4d82a93614c5e40ff1c471789/lib/TransmitMail.php#L1202

よろしければ試してみていただけれな幸いです。

参考: http://hal456.net/qdmail/oopbase#p1.6

lib/TransmitMail.php をカスタマイズされる場合は、可能であれば TransmitMail クラスを拡張してカスタマイズいただくと、今後のアップデートが楽になるかと思います。クラスの拡張は必須ではありませんが、ご参考までに。

参考: TransmitMail 2 で入力内容に応じて送信メールの宛先を切り替える - Qiita

ts-mori commented 2 years ago

dounokouno様 アドバイスありがとうございます。

lib/TransmitMail.phpの該当個所を試してみたのですが、 mailが届かなくなりました💦。

TransmitMail クラスを拡張につきましては、何のことやら さっぱりで、試すこともできませんでした。

調べていただきありがとうございました。

dounokouno commented 2 years ago

@ts-mori 様

上記件、了解です。

では「TransmitMail クラスの拡張」は一旦、利用しないことにしまして、 lib/TransmitMail.php$this->mail->text$this->mail->html に変更して、その状態でメールが届かなくなった、という認識であっていますか?

メールが届かなくなったとのことですが、 log ディレクトリにエラーログなどは出力されていないでしょうか?

また、設定ファイルで display_errortrue にしていただいて、何かエラーが画面上に表示されないでしょうか?

ts-mori commented 2 years ago

dounokouno様 ご確認ありがとうございます。

どうぞよろしくお願いいたします。

dounokouno commented 2 years ago

@ts-mori 様

各種ご確認ありがとうございます。

「 display_error: true 」 を追加であってますでしょうか? 画面真っ白です。

上記はどの時点で画面が真っ白な状態になりましたか?

ts-mori commented 2 years ago

dounokouno様 お手数をおかけしています。 言葉足らずで申し訳ありません。

自動送信メールが真っ白です。 すいません。伝え方が間違っていました。

lib/TransmitMail.php の $this->mail->text を $this->mail->html に変更すると、 メールは届くのですが、そのメールがタイトルなどは入っているのですが、 本文がない状態です。

どうぞよろしくお願いいたします。

dounokouno commented 2 years ago

@ts-mori 様

お返事が遅くなりましたmm

すでに自己解決されたか、他の仕様にて実装されたかも知れませんが...。

「自動送信メールが真っ白」とのことですので、もしよろしければ自動送信メールのファイル名と自動送信メールのファイル名を指定している設定の行と、自動送信メールの内容を可能な範囲でコメントに貼り付けていただければ何かわかるかも知れません。

または、自動送信メールの内容を

こんにちは。

とか

<strong>こんにちは。</strong>

とか

<b>こんにちは。</b>

といったすごく簡単な HTML を書いた場合にも真っ白なメールが送信されるか、ご確認いただけるとありがたいです。