ZOHO CRM Deluge 関数での出来事

2023/1
ZOHO CRMを利用している知り合いから、作った関数をスケジュール処理から定期起動したいのだが、処理結果を知らせるメールが送られてこない。。。と相談を受けました。

調べてみると、エラーも出てないし、ライセンスも問題なし・・・
ちなみに、関数を「保存して実行」とした時は、問題なく動いてメールも送られてくるし・・・なんか変だね (>_<)

メール送信先のメルアドを引数(String sennd_to) という形で関数で定義しており、値をスケジュール処理に記述して受け渡すという仕組みになっていました。

send_to の パラメータ値: hanako@xxxx.jp のような形式

Delugeで書かれたコートを確認したりしたが、手動で動くものが何で、スケジュール起動だと動かない(?)のか・・・?

少し、コードを最小化して分解しながら原因を探ってみました。
その結果、以下のことが判明

原因

値渡ししていたパラメータ値 hanako@xxxx.jp が 関数側では、 hanako%40xxxx.jp になっていました (^-^;

どうも、記号がエンコードされてしまい、受け側の関数ではデコードされることなく、そのまま渡されていた (◎_◎;)

解決策

sendto = zoho.encryption.urlDecode(send_to);

という感じで、値をデコードして一旦ローカル変数に置き換えてから、その変数を Sendmail のパラメータに渡すことで解決しました (‘◇’)ゞ

とりあえず、2023年最初のトラブルシューティングでした !(^^)!

おすすめ