MilkyStep Official Community

メルマガ・ステップメール配信ソフトMilkyStep利用者のコミュニティです。

空メール登録時のエラーメール Can’t locate Unicode/Japanese.pm

いつもお世話になっております。度々の質問で申し訳ありません。

配信予約の設定が完了し、今後は空メールの設定をさくらインターネットのレンタルサーバで行なっております。

.mailfilterファイルに
to “| /home/アカウント名/www/ms_light/karame.cgi reg”
と記載し、各メールアドレス名フォルダにパーミッション600でアップしました。

ミルキーステップ PROFESSIONALの空メール用リンク取得ページの「メーラ起動リンクプレビュー」からメールを送信すると下記エラーが返ってきてしまいます。

karame.cgi: Can’t locate Unicode/Japanese.pm in @INC (@INC contains: ./asp_opt ./ext_lib /usr/local/lib/perl5/5.12.4/BSDPAN /usr/local/lib/perl5/site_perl/5.12.4/mach /usr/local/lib/perl5/site_perl/5.12.4 /usr/local/lib/perl5/5.12.4/mach /usr/local/lib/perl5/5.12.4 .) at /home/アカウント名/www/ms/karame.cgi line 17.
[Tue May 15 17:58:07 2012] karame.cgi: BEGIN failed–compilation aborted at /home/アカウント名/www/ms/karame.cgi line 17.
Status: 500
Content-type: text/html

調べたところ http://oshiete.goo.ne.jp/qa/5122065.htmlを見つけ
モジュールを確認しましたが、ミルキーステップ 共通設定ーシステム情報では 全てOKになっております。

さくらインターネットに空メールのシステムを設置したい場合、何か変更する箇所はありますでしょうか。
思い当たる点があれば、ぜひお教え頂けますでしょうか。
どうぞよろしくお願いいたします。

火, 5月 15 2012 » よくある質問(FAQ), 各種エラーの解説

6 Responses

  1. Igreks.Inc 5月 15 2012 @ 8:02 PM

    平素はMilkyStepをご利用いただきましてありがとうございます。

    .mailfilterの記述を、

    to “| /home/アカウント名/www/ms_light/karame.cgi reg”

    to “| cd /home/アカウント名/www/ms_light; ./karame.cgi reg”

    としみてください。

    マニュアルの「空メール設定」の章にもあるかと思いますが、「|」の後、cdコマンドによってカレントディレクトリを移す処理が必要です。

    考え方はCronの起動処理を書く時と同様になります。

  2. ogawa 5月 15 2012 @ 8:39 PM

    ありがとうございます。Igreks.Inc様

    実はマニュアルに従い 
    to “| cd /home/アカウント名/www/ms; ./karame.cgi reg”
    と記述をしたのですが、まったく動かず
    http://www.ahref.org/support_board/patio.cgi?read=54&log=past
    http://faq.sakuratan.com/wiki/wiki.cgi?%a5%e1%a1%bc%a5%eb#i21
    などを参考にmailfilterは特殊なのかと
    to “| /home/アカウント名/www/ms/karame.cgi reg” を入れましたら
    メールの返信はあったもので、とりあえずcgiを動かすところまでは行けたのだと勘違いしておりました。

    さくらインターネットのmailfilterには別の記述方法が必要なのか
    私の設定が何か間違っているのか引き続き調査してみたいと思います。

    度々の質問に早急にご返答いただき、本当に感謝しております。
    ありがとうございます。

  3. Igreks.Inc 5月 16 2012 @ 12:39 AM

    ogawa さま

    失礼しました。.mailfilterでしたね。
    これはmaildropというソフトを利用した転送ですので確かに特殊かもしれません。

    これも確認したわけではありませんが、
    先ほどの方法でダメなら、とりあえず今思いつく方法を書かせていただきます。

    一旦.mailfilterの記述を

    to “| /home/アカウント名/www/forward.cgi reg”

    とします。(登録用の場合)

    サーバ上の、/home/アカウント名/www に、「forward.cgi」という名前で下記の内容を記述して保存。
    パーミッションはCGIが動作するパーミッション(755など)にします。

    (forward.cgiの内容)

    #!/usr/local/bin/perl

    system “cd /home/アカウント名/www/ms; STDIN > ./karame.cgi $ARGV[0];”;

    1;

    これでだめなら、

    #!/usr/local/bin/perl

    open(KARAME, “| cd /home/アカウント名/www/ms; STDIN > ./karame.cgi $ARGV[0]);
    close KARAME;
    1;

    とか、こんな感じでしょうか。

    さくらサーバでの空メール設定の実績報告等が無いもので、あくまで案ですが、お試しいただければ幸いです。

  4. ogawa 5月 19 2012 @ 11:12 PM

    Igreks.Inc様

    ご丁寧にご返信いただきありがとうございます。
    頂いたようにmailbox 該当のメールアドレス名addに 600 でアップした.mailfilter

    to “| /home/アカウント名/www/forward.cgi reg”

    /home/アカウント名/www に755でアップした「forward.cgi」

    #!/usr/local/bin/perl
    system “cd /home/アカウント名/www/ms; STDIN > ./karame.cgi $ARGV[0];”;
    1;

    また

    #!/usr/local/bin/perl
    open(KARAME, “| cd /home/アカウント名/www/ms; STDIN > ./karame.cgi $ARGV[0]);
    close KARAME;
    1;

    ともにアップロード後に
    「メーラ起動リンクプレビュー」からメールを送信してみましたが
    登録ができませんでした。

    どこか違う所があるのかと 何度もコピペし直してやってみましたが
    どちらもダメなようでした。

    Perlは全く分からないのですが、引き続き 検索/勉強・トライしていこうと思います。
    せっかくの空メール機能 使えたらクライアントにも喜ばれると思いますので。

    何か これは!と思う点があればどんなことでも教えて頂けたら幸いです。
    どうぞよろしくお願い致します。

    今回、大変 返信が遅くなり申し訳ありませんでした。

  5. Igreks.Inc 5月 20 2012 @ 1:04 AM

    ogawa さま

    > ともにアップロード後に
    > 「メーラ起動リンクプレビュー」からメールを送信してみましたが
    > 登録ができませんでした。
    >
    > どこか違う所があるのかと 何度もコピペし直してやって
    > みましたが
    > どちらもダメなようでした。
    >

    このコミュニティからソースなどをコピペすると、たまにコーテーションマーク(’)やダブルコーテーションマーク(”)が全角になってエディタに貼り付けられることがあるようです。
    「”」などが全角になっていないかお確かめいただければ幸いです。

    また、前述した方法は、CGIからUnixコマンドをコールできるというのが前提ですので、もちろん根本的にできない可能性もあります。
    VPSや専用サーバと違って、共用サーバの場合は、その可能性は高いです。

    > Perlは全く分からないのですが、引き続き
    > 検索/勉強・トライしていこうと思います。
    > せっかくの空メール機能 使えたらクライアントにも
    > 喜ばれると思いますので。
    >
    > 何か これは!と思う点があればどんなことでも
    > 教えて頂けたら幸いです。
    > どうぞよろしくお願い致します。

    弊社も.mailfilterを扱った案件を取り扱った経験が無いので不確かな情報ではありますが、.mailfilterを利用しているメールサーバの場合、もともとはそのサーバのMTA(QmailやPostFixなどのメール配信エージェント)がまず存在し、そこの転送設定で一旦メールを.mailfilterに渡すという設定になっているが一般的かと思いますので、本来のMTAの転送機能が使えるという可能性もあります。

    さくらの共用サーバのMTAは、こちら(http://ne.tc/2009/01/14/%E3%81%95%E3%81%8F%E3%82%89%E3%82%A4%E3%83%B3%E3%82%BF%E3%83%BC%E3%83%8D%E3%83%83%E3%83%88%E3%81%A7%E3%83%A1%E3%83%BC%E3%83%AB%E3%82%92catch-all%E3%81%97%E3%81%9F%E3%81%84%E3%80%82/)の記事によるとsendmailのようですので、.mailfilterを通った後に.forwardに渡してやることで上手くいくかもしれません。

    方法としては、

    1..mailfilterには下記のように記述します。

    to “| /home/アカウント名/.mailfilterがあるディレクトリまでのパス/.forward”
    (登録用の場合)

    2.1の.mailfilterと同じ階層に「.forward」という名前でファイルを作成し、内容は以下のように記述。

    “| cd /home/アカウント名/www/ms; ./karame.cgi reg”

    もしこれで登録が上手くいったら、解除用も同様に、解除用のメールアドレスのホームの配下に解除用の.mailfilterと.forwardを設置します。

    もしお時間がありましたらお試しください。

  6. ogawa 5月 23 2012 @ 5:38 PM

    Igreks.Inc様

    いつもご丁寧にご対応いただきありがとうございます。
    返信・報告が遅くなり申し訳ありません。

    結果から申し上げますと、お恥ずかしいお話
    一番最初にアドバイス頂いた内容で無事に空メール登録ができました。

    to “| cd /home/アカウント名/www/ms; ./karame.cgi reg”
    to “| cd /home/アカウント名/www/ms; ./karame.cgi rm”
    を各メールアカウント(登録用・削除用ともに)
    /home/アカウント名/MailBox/メールアドレス名/
    に.mailfilter でパーミッション600でアップし
    karame.cgi は755 or 705

    今後の方の為に原因解明をと思ったのですが、何が問題だったのか不明です。

    頂いた記載方法も全て試し、グルグルと色々とやり、
    一度 ダメだ。。とあきらめておりました。

    日にちと気分を変えて、もう一度 1から考え・やり直してみようと思い
    一番最初に頂いたコードの記載に戻ったところ問題なくいけました

    ご迷惑をおかけし 本当に申し訳ありません。
    大変丁寧にご対応・アドバイスをいただき 
    御社ソフトを購入・導入し本当によかったと思っております。
    今後ともどうぞよろしくお願い致します。

    ※このコミュニティからソースなどをコピペすると、たまにコーテーションマーク(’)やダブルコーテーションマーク(”)が全角になってエディタに貼り付けられることがあるようです。
    →私の環境 mac OSX テキストエディタ TextWrangler でも全角に変わっておりました。mac標準のテキストエディットでも全角。
    Dreamweaver CS5では半角表示 でした。

    このアドバイスを頂き1からやり直す事ができました。
    本当にありがとうございました。

Login