-
投稿者投稿
-
2025年9月9日 2:29 PM #146340
【お使いの Snow Monkey のバージョン】 29.1.5
【お使いの Snow Monkey Blocks のバージョン】24.1.3
【お使いの Snow Monkey Editor のバージョン】11.0.2
【お使いのブラウザ】Chrome
【当該サイトのURL】http://mihama-seisakusho.co.jp/### 実現したいこと
Snow Monkey Forms のセレクトボックスの値(問い合わせと応募の2種)に合わせて、ユーザー宛て自動返信メールの送信元と内容を変えたい。
送信元アドレスはそれぞれ別で、文の内容も2種用意したい
### 発生している問題
Snow Monkey Forms のセレクトボックスの値に合わせて、管理者宛メールの送信先を追加しました。
以下WEBもがき道場さんのサイトを参考にさせていただきました。
同じようにユーザー宛て自動返信メールの送信元アドレスも変えられないかやってみましたが、どちらも同じメールアドレスになってしまう。
### 試したこと
my-snow-monkey.php
に書き加えています。オレインさんの”Snow Monkey Forms でフォーム側から送信先を選択させる方法も参考にさせてもらいやってみたりしましたが、難しくうまくいきません。記述内容をご教示いただけますか?
♥ 0Who liked: No user2025年9月9日 3:46 PM #146341実際に書いているコードをここに共有してください!
♥ 0Who liked: No user2025年9月9日 3:53 PM #146342うまくいかなくて消してしまったのでできているところまでしかないのですが・・・
こちらでもよいでしょうか?問合せは、info@abc.co.jp
応募は、saiyo@abc.co.jp【前提】
受け付けたというメールの受信先は、my-snowmonkeyを使って何とかできました。
その内容が以下です。
Snow Monkey Formsでセレクトボックスを使い、属性に
Name: select-apply
Options:
"" : "選択してください" "info" : "お問い合わせ" "saiyo" : "ご応募"
と入れておき、
my-snow-monkey.php
に下記を追加しました。/* * Snow Monkey Formsのセレクトボックスの値に合わせて、送信先を変更する */ add_filter( 'snow_monkey_forms/administrator_mailer/args', function ($headers, $responser, $setting) { /* フォームの送信内容 $responser から NAME属性に設定した名前で $sendTarget へ入れる */ $sendTarget = $responser->get('select-apply'); // セレクトボックスの値を取得 /* NAME属性が option1 だった場合 */ if ($sendTarget === 'info') { /* 管理者メール送信先を変更 */ $headers['to'] = 'info@abc.co.jp'; } elseif ($sendTarget === 'saiyo') { /* NAME属性が option2 だった場合 管理者メール送信先を変更 */ $headers['to'] = 'saiyo@abc.co.jp'; } /* 書き換えたデータをお返しする */ return $headers; }, 10, 3 );
♥ 0Who liked: No user2025年9月9日 4:31 PM #146343snow_monkey_forms/administrator_mailer/args
は管理者宛メールをカスタマイズするフックです。
自動返信メールをカスタマイズするフックはsnow_monkey_forms/auto_reply_mailer/args
になります。同じようにユーザー宛て自動返信メールの送信元アドレスも変えられないかやってみましたが、どちらも同じメールアドレスになってしまう。
上記について、どういうコードを書かれたかがわかりませんが、もし
snow_monkey_forms/administrator_mailer/args
にフックしたのであれば自動返信メールの内容は書き換えられないので、snow_monkey_forms/auto_reply_mailer/args
にフックするように変更する必要があります。また、送信元はfrom
なので、from
を書き換える必要があります(ちなみにfrom
をいじくるのは迷惑メール扱いされる可能性が高まるようなので、返信先を指定したいという理由なのであれば、replyto
を書き換えるのが良いです)。add_filter( 'snow_monkey_forms/administrator_mailer/args', function ($headers, $responser, $setting) { $sendTarget = $responser->get('select-apply'); if ($sendTarget === 'info') { $headers['from'] = 'info@abc.co.jp'; } elseif ($sendTarget === 'saiyo') { $headers['from'] = 'saiyo@abc.co.jp'; } return $headers; }, 10, 3 );
♥ 0Who liked: No user -
投稿者投稿
- このトピックに返信するにはログインが必要です。