Joomlaが送信したすべてのメールのメールテンプレートを追加する方法。
これを行う標準的な方法はありますか?または、各メール送信セクション(またはPHPmailerクラス)にカスタムコードを追加する必要がありますか?
プラグインイベントなど、メール送信イベントをキャッチするための何かを探しています。これはJoomlaで可能ですか?
私はもう少し説明する必要があると思いますEmail Beautifierは良いものですが、私の目的はそのような拡張を開発することです。私は電子メールテンプレートのカスタマイズ用のカスタムコンポーネントを持っています。エディターでは、すべてのスタイルのフォントなどがそこからカスタマイズ可能です。テンプレートは以下のようなものです。
これは私のテンプレートです。Joomlaが登録、連絡先などですでに持っているメッセージを変更する必要はありません。テンプレートを追加するだけです
現在、私はPHPメーラークラスのコアファイルをカスタマイズしていますChad Windnagleのようなものを使用してそれを行っていますRS FORM PRO Joomlaのような古いバージョンのJoomlaで使用しました。
送信されるすべての電子メールは言語ファイルを使用して送信されるため、コンテンツを電子メールのコピーに変更するには、言語を上書きする必要があります。
http://docs.joomla.org/J2.5:Language_Overrides_in_Joomla
メール送信をキャッチするための特定の単一の「イベント」があるかどうかはわかりません。これを行う唯一の方法は、おそらくメーラークラスをオーバーライドして、他のプラグインで監視できるイベントを追加することです。
このクラスをオーバーライドする必要があります: https://github.com/joomla/joomla-cms/blob/staging/libraries/joomla/mail/mail.php
そしてそれをあなた自身のものに置き換えてください-あなたは私が思うシステムプラグインでそれを行うことができます。そこから、プラグインのonSendイベントを呼び出すsend()メソッドに新しいイベントを追加します。
これは、メール送信がJoomlaのメーラークラスを使用している場合にも機能します。 PHP=経由で直接送信されたメールは、この方法で捕捉するのは困難です。
ACYMailing- https://www.acyba.com/ のような無料のJoomlaコンポーネントを使用することで、メールテンプレートを簡単に送信できます。
機能の場合- https://www.acyba.com/acymailing/features.html
また、無料のメールテンプレートが組み込まれているため、自分で再構築したり作成したりする必要はありません。
言語マネージャー->言語オーバーライドに移動します
そこで、以下のキーへのオーバーライドを作成できます。
COM_USERS_EMAIL_ACTIVATE_WITH_ADMIN_ACTIVATION_SUBJECT
COM_USERS_EMAIL_ACTIVATE_WITH_ADMIN_ACTIVATION_BODY
COM_USERS_EMAIL_ACTIVATED_BY_ADMIN_ACTIVATION_SUBJECT
COM_USERS_EMAIL_ACTIVATED_BY_ADMIN_ACTIVATION_BODY
他のキーがあります。しかし、必要なのは言語オーバーライドを作成することだけです。 language/en-GB/en-GB.com_users.iniファイルを見てください。
編集:私はあなたの質問をもう一度読んで、これに似たプラグインを作成したいことに気付きました。質問のタイトルに基づいて他の人に役立つ可能性があるため、私の答えはそのままにしておきます。この拡張機能の動作を確認すると役立つ場合があります。
これに代わる1つの方法は、Compojoomの無料のcMandrillプラグインを使用することです。
https://compojoom.com/joomla-extensions/mandrill-transactional-emails-made-easy
そして http://Mandrill.com にサインアップします
最初の12,000通のメールは無料です。そのため、ほとんどのWebサイトで料金が表示されることはありません(サインアップにクレジットカードを使用する必要さえありません)。
その後、言語を変更したり、オーバーライドしたりせずにjoomlaテンプレートをオーバーライドできます。
私はこれをいくつかの素晴らしい利点がある代替として提供します(ユーザーのメールが返送されたのか、誰がそれらを開いたのかなどをMandrillが教えてくれます)。