• 締切済み

Net::SMTPだけで添付ファイルつきのメールを送信したいです。

フォームの内容をCSVファイルに出力し、CSVファイルをメールに添付して送信する機能をPerlで実現したいのですが、 諸事情によりパッケージ(MIMEなど)の導入ができないため、ActivePerlに標準で入っているNet::SMTPだけを使用して実現する必要があります。 どうすれば実現可能か御教示いただけると幸いです。 IIS6.0 ActivePerl 5.10.0

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

みんなの回答

  • okmotokun
  • ベストアンサー率59% (92/155)
回答No.1

http://bellcall.nsf.jp/f2mail/demo/f2mail.html ↑ そのものズバリです。

関連するQ&A

  • SMTPでメール送信するメールフォーム

    Perlを学んでまだ数ヶ月の初心者ですが、今SMTPを用いたメールフォームを作ろうとしています。 sendmailを用いたものは、色々な参考書などを参考にして何とかできたのですが、SMTPの方はよく分からず困っています。 SMTPでメール送信するにはモジュール(Net::SMTP)を使わないといけないのですか? またモジュールを導入しようと試みたのですが、難しくて分かりませんでした(モジュールの設置場所なども)。 こちらの方も分かる方がいらっしゃいましたら、教えて頂けると幸いです。 よろしくお願いします。

    • ベストアンサー
    • Perl
  • MIME::LiteをSMTPで送信すると「ファイル番号が違います。」というリターンが帰って来る。

    MIME::Liteパッケージについての質問です。 現在MIME::Liteパッケージを使用してメールを転送する プログラムを作成しております。 メールは正常に送信できるのですが、MIME::Liteのsendメソッド実行後の"$!"に「ファイル番号が違います。」というメッセージが格納されます。これは何を意味しているのでしょうか?よろしくお願いします。 <コード> #!/usr/bin/perl # パッケージ指定 use Net::SMTP; use Net::POP3; use MIME::Lite; use MIME::Base64; use Jcode; # メールcfgを読み込み require "$ARGV[0]"; # メールサーバを指定 $MAILSERVER = 'hoge'; # コンテナを作成 my $msg = MIME::Lite->new( From => "$FROM", To => "$TO", cc => "$CC", Bcc => "$BCC", Subject => "$SUBJECT", Type => 'multipart/mixed' ); # メッセージを追加 $msg->attach( Type => 'text/plain; charset="iso-2022-jp"', Data => "$MESSAGE" ); # 添付ファイルが指定されているかチェック if (! $FILEPATH eq "" ) { # 添付ファイルが存在するかチェック if (! -e $FILEPATH ) { print "添付ファイル名:$FILEPATH\n"; exit 67; } else { # FILENAMEをGET $NUM = rindex($FILEPATH,'/'); $FILENAME = substr($FILEPATH, $NUM+1); # 添付ファイルを追加 $msg->attach( Type => 'application/octet-stream', Disposition =>'attachment', Encoding => 'Base64', Filename => "$FILENAME", Path => "$FILEPATH" ); } } # メール送信 $msg->send('smtp', $MAILSERVER); if (! "$!" eq "" ) { exit 68; } print "メールの送信が完了しました\n"; exit 0; <環境> OS:solaris 8 Perl:version 5.005_03

    • ベストアンサー
    • Perl
  • sendmailで添付メールを送信したい

    Perlを勉強してまだ日が浅い初心者です。 sendmailを利用して添付メールを送信したいのです。 WEBで色々と探して自分で勉強してみたのですが・・・ ほとんどがモジュールを必要としています。 モジュールってインストールしないと駄目なのですよね? 設置場所がレンタルサーバーなのでそれは多分出来ないのです。(sendmail可) 標準モジュールのみで添付ファイルを実現できる方法はありませんか? 宜しくお願いします

    • ベストアンサー
    • Perl
  • 添付ファイルをつけてメールを送る

    以下のようなイメージでプログラムを制作しようと思っています。 csvファイル メールアドレス1,添付ファイル1 メールアドレス2,添付ファイル2 メールアドレス3,添付ファイル3 メールアドレス4,添付ファイル4   ・   ・   ・ cgiファイル ・csvファイルを読み込む   ↓ ・タイトル、本文は固定。 ・メールアドレス1には添付ファイル1を送る。(アドレス2なら2を添付) ・csvファイルの行数だけこれを繰り返す。 ----------------------------------------------------------------- フォーム入力送信→担当者にメールが届く というのはサンプルをもとに作る事ができたのですが、 それに「添付ファイルを付ける」にはどうしたら良いのでしょうか? 現在メールの書き出しは下記のようになっています。(添付無し状態) #######################################################メール送信 $head = "From: 送信者" . "\n" . "To: 宛先" . "\n" . "Subject: タイトル" . "\n\n"; open(MAIL, "| sendmailパス -t -f'送信者'") ; print MAIL "$head"; print MAIL <<__END__; ###メール本文### __END__ close(MAIL);

    • ベストアンサー
    • Perl
  • Perlでのメール添付送信のエラー

    PerlでメールにZIPファイルを添付して送信したいです。 http://homepage3.nifty.com/hippo2000/perltips/perlmail.htm#1.2 http://perltips.twinkle.cc/perl/mail_mime_attached_file.php 上記のサイトを参考に以下のプログラムを組んでみました。 するとエラーメッセージが画像のような感じででてきました。 おそらく、なんか文字コードがおかしいのかもしれないのですが、どこから手をつけていいのかわかりません。 どなたかお助け下さいm(__)m 前回も別の問題で助けていただいたのですが、文字コードの問題でした。他の部分は全くひっかからないのに、この部分で40時間ほど悩んでおります・゜・(ノД`;)・゜・ ======================================== sub mail_push { # サーバー、アカウント、パスワード、ポート、送信元アドレス、送信先アドレス、題名、本文、送るべきファイル1(空の場合は無視)、送るべきファイル2(空の場合は無視) my ( $mailhost, $mail_username, $mail_password, $mailport, $from_mail, $to_mail, $subject, $message, $file1, $file2 ) = @_; # 正しいメールの形なのか調べる if ( $to_mail eq '' ) { print "送り先のメールアドレスが空のようです\n"; # ERR } elsif ( $to_mail =~ /^([a-zA-Z0-9\.\-\/_]{1,})@([a-zA-Z0-9\.\-\/_]{1,})\.([a-zA-Z0-9\.\-\/_]{1,})$/ ) { # 実際に送る my $smtp = Net::SMTP->new($mailhost, Port => $mailport); $smtp->auth($mail_username, $mail_password); $smtp->mail($from_mail); $smtp->to($to_mail); $smtp->data(); my $mime = MIME::Entity->build( Type => 'multipart/related', From => $from_mail, To => $to_mail, Subject => $subject, Type => 'text/plain;charset="iso-2022-jp"', Data => $message, Encoding => "7bit"); # エラーがでてくる箇所 $mime->attach( Path   => 'c:/buromaga1.jpg', Type   => 'Application/octet-stream', Encoding => 'Base64',); $smtp->datasend($mime->stringify);# ERR $smtp->dataend();# ERR # SMTP終了 $smtp->quit; } else { print "送り先が正しいメールの形式ではありません\n"; # ERR } }

    • ベストアンサー
    • Perl
  • CSVファイルに出力

    Perlを使ってCGIを作っています。 そこで、資料請求フォームを送信した時に、CSV形式で出力するんですけど、ファイル名を現在日時を取ってきて例えば200108.csvみたいに年と月を付けたファイルを作って、出力させたいのですが、どうやって良いのか困ってます。 お教え願えないでしょうか。 よろしくお願いします。

    • ベストアンサー
    • CGI
  • 添付ファイル付きメールが送信不能

    こんにちは!ウィルスセキュリティーゼロを導入したところ、添付ファイル付きメールを送信できなくなりました。受信は可能です。どうすれば直るでしょうか?教えてください。

  • net::smtp port設定

    以下のコードでメールを送信したいのですが、デバッグのために書いたConnect failed over tls at /var/www/cgi-bin/net_smtp.cgi line 13.エラーが消えません。 ポートの部分を取り払うとコンパイルは出きるのですが、送信してくれません。何か間違っているところがあるのでしょうか?  #!/usr/bin/perl -w use POSIX; use Net::SMTP; use MIME::Entity; my $un = "****"; my $pw = "****"; my $SMTP_Port = '587'; #オブジェクトの作成 $smtp = Net::SMTP->new( Port=> $SMTP_Port, '********', #SMTPサーバ Hello=>'********')|| die "Connect failed over tls"; #SMTPサーバのドメインを指定 $smtp->auth(<*$un*>, <*$pw*>); #ヘッダ部の組み立て $smtp->mail('*******@********');#送信元の指定 $smtp->to('*******@**********'); #宛先の指定 #データ部の組み立て(MIME::Entityによるデータの作成) $smtp->data(); #$oMime = MIME::Entity->build( From => 'test', #送信元(データ部) To => 'test', #宛先(データ部) Subject => "easy mail sending", #件名 Data => ["simple mail2¥n", "MailTest¥nhello world¥n"]); $smtp->dataend(); #SMTP接続の終了 $smtp->quit;

    • 締切済み
    • CGI
  • メールの添付ファイルが認識されない。

    メールに添付ファイル(jpeg)を付けて、(auの)携帯へ送信すると、受信した携帯でヘッダ部分がそのまま展開(添付ファイルのデータがMIMEでそそまま表示)されてしまう事態になってしまいます。 PCのMUAでは添付ファイルとして認識されています。 携帯に送る際はなにか特別なことをする必要があるのでしょうか? 添付のヘッダは、 1.添付ファイルを読み込んでMIMEに変換する。 2.ヘッダの最後に、 --境界  Content-Type: image/jpeg; name="file"  Content-Transfer-Encoding: base64  Content-Disposition: attachment; filename="file"  添付ファイルのMIME を追加する。 3.mail()の第4引数に作ったヘッダを放り込む。 このようなステップで送信しています。

    • ベストアンサー
    • PHP
  • csvファイルをメールに自動で添付して送信する方法

    現在、アクセスのデータをボタン1つでA社.csv、B社.csv、C社.csv・・・という形で出力しています。 それらのファイルを、メールに添付して各社に送っているのですが、 自動で添付・宛先選択・送信まで行うようなことがマクロなどで出来るでしょうか。 また、メール本文に各社名や各社担当者名も自動で記載することが出来るでしょうか。 出来るとしたらどのようなやり方になりますか。 ご存知の方がいらっしゃったら教えて下さい。 何卒宜しくお願いいたします。