SAK 図書館

SAK Streets メインストリート 図書館・カフェ 一覧 SAK Streets 検索
| VB | SQL | Perl | PHP | ASP | JSP | C | PC | HP | FAQ | フリーソフト |

CGI-Perl 基礎編 (その九) 電子メール送信 sendmail (jcode.pl 要)

■電子メール送信 sendmail (jcode.pl 要)

  ・@nifty や biglobe では、sendmail が使用できない。
    使用可能なサイトでは、次のようにするとメール送信が CGI から行える。
    アンケートフォームからのデータセットになる送信など、使い方は工夫次第
    である。

  ・「$mailer = '/usr/lib/sendmail';」は、サイトの仕様によって、sendmail
    までのパスを指定する。

  ・「$mlfr = 'mailadr@????.???';」は、発信元メールアドレスを指定する。
    アンケートなどでは、相手の入力メールアドレスをセットすれば良い。
    単なるお知らせであれば、自分のメールアドレスを指定する。

  ・「$mlto = 'mailadr@????.???';」は、送信先メールアドレスを指定する。
    これは自分のメールアドレスを必ず指定する。

  ・「$mlsb = 'title';」は、メールタイトルを指定する。
    もしかすると日本語をセットすると問題が発生するかもしれない。

  ・「$mlms = 'てすとメッセージです。';」は、メール本文を指定する。
    日本語は JIS エンコードで送信される。
    複数行に改行する場合は、「"\n"」を使用する。

  $mlms = 'てすとメッセージです。' . "\n";
  $mlms = $mlms . '2 行目' . "\n";
  $mlms = $mlms . '3 行目' . "\n";

  ・尚、メールサーバによっては、
    「open(MAIL, "| $mailer -t -f'$mlfr'") or $err = 1;」部分の
    「 -f'$mlfr'」をカットする必要があるかもしれない。

  open(MAIL, "| $mailer -t") or $err = 1;

  ・「$jcph = '.';」は、普通は修正の必要なし。

  ・実行には、このテスト CGI と同じ場所に jcode.pl が必要である。

#!/usr/local/bin/perl
#//=====================================================================
#//  メール送信 sendmail テスト (jcode.pl 要)
#//=====================================================================

#// 準備
  $mailer = '/usr/lib/sendmail';
  $mlfr = 'mailadr@????.???';
  $mlto = 'mailadr@????.???';
  $mlsb = 'title';
  $mlms = 'てすとメッセージです。';
  $jcph = '.';

#// メール送信
  require "$jcph/jcode.pl";
  jcode'convert(*mlsb, "jis");
  jcode'convert(*mlms, "jis");
  $mlhd = "From: $mlfr" . "\n" . "To: $mlto" . "\n" . "Subject: $mlsb" . "\n\n";
  $err = 0;
  open(MAIL, "| $mailer -t -f'$mlfr'") or $err = 1;
  if ($err == 0) {
    print MAIL $mlhd;
    print MAIL $mlms;
    print MAIL "\n";
    print MAIL "\n\n" . "." . "\n";
    close(MAIL);
    $msg = 'メール送信正常に処理しました。';
  }
  else {
    $msg = 'メール送信エラー';
  }

#// メール送信結果表示
print << "END_OF_HTML";
Content-type: text/html

<HTML>
<HEAD>
<META http-equiv="Content-Type" content="text/html; charset=Shift_JIS">
<TITLE>メール送信結果</TITLE>
</HEAD>
<BODY>
$msg<BR><BR>
-- メールヘッダ --<BR>
$mlhd<BR><BR>
-- メール本文 --<BR>
$mlms
</BODY>
</HTML>
END_OF_HTML

#// 終了
  exit(0);

■CGI-Perl 基礎編資料
■CGI-Perl 基礎実地編資料
■CGI-Perl 応用実地編資料
■PHP 基礎編資料
■PHP + MySQL 編資料
| VB | SQL | Perl | PHP | ASP | JSP | C | PC | HP | FAQ | フリーソフト |

SAK Streets メインストリート 図書館・カフェ 一覧 SAK Streets 検索



Copyright (C) 1999-2017 Y.SAK