• ベストアンサー

メールのデコード方法について教えてください

受信メールから、本文と添付ファイルを取出してサーバー内の ディスクへの保存するというperlスクリプトの作成を考えています。 そこでbase64のデコードの為のモジュールとしてMIME::Base64 (Version: 3.07)を使いたかったのですが、MIME::Base64が対応する のはperlのバージョンが5.008以上のようでした。 (サーバー内のperlは5.004です) 既存のプログラムへの影響を考えてperlのバージョンをあげずに 受信メールの本文と添付ファイルをデコードする方法はありましたら 御教示お願いします。 (必要な情報が不足していましら御指摘下さい)

  • Perl
  • 回答数2
  • ありがとう数1

質問者が選んだベストアンサー

  • ベストアンサー
  • bgbg
  • ベストアンサー率53% (94/175)
回答No.2

古いバージョンには当たってみましたか? MIME::Base64はver.2.13ならperl 5.004でも使えそうです。 http://search.cpan.org/~gaas/MIME-Base64-2.13/ 要求versionは5.002になっています。

maboten
質問者

お礼

早速の御連絡ありがとうございます。 教えて頂いた旧バージョンのMIME-Base64で試してみます。 ありがとうございました。

その他の回答 (1)

noname#39970
noname#39970
回答No.1

base64を扱えるバイナリを呼び出す というのは? perlからlsやgrepを呼ぶには って言うのと同じ意味。

関連するQ&A

  • perlのMIMEモジュールの代用ができるスクリプトは?

    CGIでメール受信処理をするために、Net::POP3の使用はできましたが、MIME系のモジュールがサーバーに用意されていないらしく、受信したメールの解析がうまくいきません。 モジュールなので、サーバーのPERLに管理者が追加しないといけないと思うのですが、お願いしても断られてしまいました。 jcode.plやcgi-lib.plのように、requireで読み込むようなパターンにしようと思うのですが、代用できるようなスクリプトをご存知の方はいらっしゃらないでしょうか? MIME-Base64 MIME-tools MailTools IO-stringy の四点に変わるものを探しています。 よろしくお願いいたします。

    • ベストアンサー
    • CGI
  • Perlでメール本文と添付ファイルを切り分ける方法?

    perlでメールを受信して、添付ファイル部分をファイルにするスクリプトを書こうとしているのですが 知識がなく進めません。 単なるメールの受信は Mail::POP3Clientを使えば、簡単に出来ましたが BODY部で、本文と 添付ファイルを区別して 本文には $honbun 添付ファイル @tenpu({-fname=>ファイル名, -content=>中身ファイル}, ... という風に、簡単にメールボディ部を切り分ける方法やモジュールはあるのでしょうか? 例) This is a multi-part message in MIME format.------=_NextPart_000_000F_01C59927.53E8 B0E0Content-Type: text/plain; format=flowed; charset="iso-2022-jp"; reply-type= originalContent-Transfer-Encoding: 7bit------=_NextPart_000_000F_01C59927.53E8B0E0C ontent-Type: application/octet-stream; name="Tk-800.024.tar.gz"Content-Transfer-En coding: base64Content-Disposition: attachment; filename="Tk-800.024.tar.gz"H4sICBX bhDwCA1RrODAwLjAyNC50YXIA7DxrV9vIkvka/Yq6xBvLQX7ySnDCxRgTvAs2i0weJx ...

    • ベストアンサー
    • Perl
  • pearでのメール送信

    ファイル添付時に、ファイル名に全角文字が含まれている場合にメールへの添付がうまくいきません。 添付時のソースを抜粋して以下に記載します。 よろしくお願いします。 --------------------------------------------------------- $mime = new Mail_mime(); $html_param['text_encoding'] = "ISO-2022-JP-ms"; $html_param['text_charset'] = mb_detect_encoding(メール本文); $mime->setTxtBody( メール本文); $mime->addAttachment( ファイルのフルパス);

    • ベストアンサー
    • PHP
  • LIVEメールの転送

    LIVEメールで、受信したメールを転送すると、本文が消えてしまいます。 添付ファイルは、残っているのですが、どうしてなのでしょうか。 詳しい方、教えてください。 お願いいたします。 バージョンは、2012です。 現在は、受信した本文をコピーして、転送画面にペーストしています。 自動的に本文が残らないのです。

  • メールの添付ファイル

    メーラーで添付ファイルを送信する場合のプログラムで質問です。テキストファイルの添付は概ね理解できるのですが、例えばpdfファイルなどを添付する場合の方法を模索しています。以下のような感じで、合っていますでしょうか? ・添付するpdfファイルの内容をReadFileで読み込む。 ・読み込んだデータをBase64エンコードする。 ・マルチパートのメールフォーマットで送信 簡単に書かせていただきましたが、こんな流れでしょうか? 逆に添付ファイルを受信する場合は ・マルチパートの添付ファイルの内容を示す部分を読む。 ・読んだ内容をBase64デコードする。 ・CreateFileでファイルを作成。 ・作成したファイルにBase64デコードした内容を書く。 こんな感じでしょうか? よろしくお願いします。。

  • メールから本文だけを取り出す方法

    今、迷惑メールフィルタリングを作成しているのですがメールの本文だけを取り出す方法がわかりません。 本文の前には Mime-Version: 1.0 Content-Type: text/plain; charset=ISO-2022-JP Content-Transfer-Encoding: 7bit X-UIDL: B1("!E-U"!Lj<"!Se_"! などが書かれているのですが、これらに規則性がなく文字列処理で取り出すのに苦戦しているところです。 添付ファイルのないメールだと大体X-UIDLで終わっているのですが、 添付ファイルが付いているとメーラーごとに違うのか --Multipart=とあったり--Apple-Mail-5-234401926と書いてあったりします。 メーラーを作成している人ならきっと詳しいと思うのですが、誰か教えていただけませんでしょうか。

  • BASP21によるbase64のデコードについて

    base64でエンコードされた画像ファイルを表示したいと思っています。 basp21でデコードして、BinaryWriteで書き出したんですがうまく表示できません。 CAPICOMを使った場合は正しく表示されます。 basp21でデコードする際になにか処理をはさむ必要があるのでしょうか? 以下作成したサンプルソースです。 ---ソース------------------------------------------ <%@ Language="VBScript" %> <% Set Stream = Server.CreateObject("ADODB.Stream") Set CAPIUtil = Server.CreateObject( "CAPICOM.Utilities" ) Set objBasp = Server.CreateObject("basp21") strEncoded = "/9j/kL・・base64でエンコードされたJpegファイル" strDecoded = CAPIUtil.Base64Decode( strEncoded ) strDecoded2 = objBasp.Base64(strEncoded, 1) Response.ContentType = "image/jpeg" ' Response.BinaryWrite strDecoded ' Response.BinaryWrite strDecoded2 %> ---------------------------------------------ここまで----- 以上よろしくお願いいたします。

  • メール本文をbase64でエンコードする方法

    既存システムとの連携のためにメール本文をbase64でエンコードするというハメになってしまいました。 いくつか試してみたのですが message.setHeader("Content-Transfer-Encoding", "base64");とか message.setContent(MimeUtility.encodeText(Content, "ISO-2022-JP", "B"),"iso-2 022-jp");とかやっても 常にContent-Transfer-Encoding: quoted-printableとなってしまいます。 JAVAmailを使って、添付ファイルではなくメール本文をbase64でエンコードする方法ご存知の方いらっしゃいませんか。

    • ベストアンサー
    • Java
  • メールのデコードについて(RFC2231)

    よろしくお願いいたします。 メーラー(Becky!やALMAIL等)によっては、RFC2231形式で添付ファイル名をエンコードして送信していますが、RFC2231形式で送信された添付ファイル名をデコードする方法をご教授いただきたく。 下記の@ITで紹介された記事によるとRFC2231形式は%の後ろ2文字の16進数がエンコードされた文字コードであるとなっています。 http://www.atmarkit.co.jp/fnetwork/rensai/netpro04/netpro01.html しかし、Becky!等のメーラーでは、下記の【】内のように、%の間が2文字以上の場合や、ASCII文字列は直接埋め込まれてしまうパターンがあります。 【filename*=iso-2022-jp''%1B%24B%24%5B%242%24%5B%242%1B%28B%2Etxt】→元は【ほげほげ.txt】 ASCII文字列が直接埋め込まれている部分は何とかなるとして、%24B%のような部分はどのようにデコードするのでしょうか? もしかしてBはBASE64?

  • メール添付写真を本文に出さない方法

    WinXP(HE SP3)+Windows Live Mail です。メールに写真を添付(本文に貼り付けしないで)して送ると、受信側のメールの本文中にも写真が大きく張り付いています。添付ファイルとしてのみでいいので、本文中に出ないようにできないのでしょうか。

専門家に質問してみよう