Perl初心者です。
メールフォームのサンプルを調べていたのですが、
ほとんどがSendmailやJcodeでのサンプルしか検索結果がでてきませんでした。
当サーバーは両方とも使えないとのこと・・・
求めているのは、SMTPとCGI.pmとEncodeあたりをメインに作るメールフォームなのですが、
なかなかありません。
そこで、どなたか私に
そのようなサンプルが載っているサイト
もしくは、
メールフォームで
ホームページ→メールフォーム開く→入力→確認画面→送信→自動返信
と簡単なコードをご提示をお願いしたいです。
一応現在出来ているコードを貼っておきます。(途中です)
現在実行できるのが、ホームページ→定型文送信までです
#!/usr/bin/perl -w
use Encode qw(from_to encode);
use Net::SMTP;
use strict;
#メールアドレス設定
my $from = ’aaa@aaaaa.jp';
my $mailto= 'bbb@bbbbb.jp';
my $mailcc= 'ccc@ccccc.jp';
print qq(Content-type: text/html; charset=Shift_JIS\n\n);
print <<END;
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head><title>メールフォーム</title></head>
<body style="text-align:center">
<table style="width:80%;border:1px solid #f93">
<tr><th style="padding:5px;background:#fc9">メールフォーム</th></tr>
<tr>
<td style="padding:20px">
END
#サブジェクト設定
my $subject = 'ホームページからのお問い合わせ';
from_to($subject, 'shiftjis', 'iso-2022-jp');
encode('MIME-Header-ISO_2022_JP', $subject);
#メールヘッダー設定
my $header = << "MAILHEADER";
From: $from
To: $mailto
CC: $mailcc
Subject: $subject
Mime-Version: 1.0
Content-Type: text/plain; charset = 'ISO-2022-JP"
Content-Trensfer-Encoding: 7bit
MAILHEADER
#メール本体設定
my $message = "テスト";
#文字コードをJISに変換
from_to($message, 'shiftjis', 'iso-2022-jp');
#メール送信オブジェクト設定
my $smtp = Net::SMTP->new('abcdefg.jp');
if ( !$smtp ) {
print "メールサーバーにアクセスできません!";
exit;
}
#メール送信
$smtp->mail($from);
$smtp->to($mailto);
$smtp->to($mailcc);
$smtp->data();
$smtp->datasend($header);
$smtp->datasend($message);
$smtp->dataend();
$smtp->quit;
No.1ベストアンサー
- 回答日時:
なにか大きな誤解をしている。
>ほとんどがSendmailやJcodeでのサンプルしか検索結果がでてきませんでした。
この二つは、まったく異なるものです。
CGI(Common Gateway Interface)は、サーバーで動作するプログラムで、Perlを使おうがCを使おうが、AWKだろうがなんでもよい。とりあえずPerlを使ってCGIを作成する。
ところが、mailを送信するとなると、MTA(Mail Transfer Agent)にデータを渡して、送信してもらわなくてはなりない。sendmail や qmail がそれにあたります。
メール転送エージェント - Wikipedia( https://ja.wikipedia.org/wiki/%E3%83%A1%E3%83%BC … )
これらが使えない場合は、Perl自体にMTAの動作をさせるのが、Net:SMTP モジュールですよ。また、Jcodeは、現在のPerlには組み込み済みなので、使えるはず。
使えない古いPerlなら、jcode.plで代用させる。その場合、Net::SMTPも使えないのじゃないかと・・
モジュールを調べるコードを書いてみたら??
返事が遅くなり申し訳ないです。
moduleを調べてみました。
Jcode.pmありました。
まだまだ理解できないいないことが多いですね・・・
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- CGI perlで書いたcgiでsqliteの使い方を教えてください 2 2023/05/08 21:29
- JavaScript 入力フォームの javascript で メールアドレスの正規チェックをを行い、ボタンをクリックして 2 2022/04/27 16:06
- その他(プログラミング・Web制作) laravel 本番環境でメールが送れません。 1 2023/02/17 17:57
- PHP Content-Typeが機能していない? 2 2022/07/17 11:10
- UNIX・Linux postfix smtpサーバーリレーがTLSハンドシェーク失敗 1 2022/08/15 15:45
- Gmail 【お助け!】サーバーからのメール送信でGmailに送信されない問題について 1 2023/06/20 22:03
- サーバー 接続・ログインはできているのにメールが送信できない 2 2022/06/27 15:03
- AJAX JavascriptからPHPへのAjax通信でnullが返ってくる 3 2022/08/03 22:00
- HTML・CSS アコーディオンメニューが思うように動作しません。 1 2023/08/20 16:48
- その他(メールソフト・メールサービス) Thunderbirdのメール送信ができません 1 2022/10/28 16:54
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
VBAでsmtp認証をするには?
-
VBAでoutlook365が起動しません。
-
リンクをクリックするだけでC...
-
【C言語】メールを送信するプロ...
-
ArduinoのジャイロモジュールMP...
-
例外処理のフローチャートの記...
-
Excel VBAでリンク切れをチェッ...
-
エクセルVBAでシートモジュール...
-
Excel VBA 『Call』で呼び出す...
-
ユーザー定義関数に#NAME?が返...
-
大量の標準モジュールを解放す...
-
VBAで別モジュールへの変数の受...
-
モジュールの最大数はいくつな...
-
標準モジュールを削除したい。(...
-
Excel VBA 定義されたプロージ...
-
LCD ディスプレイを Raspberry ...
-
MS-Access と接続する方法を教...
-
VBSがコンパイルエラーになりま...
-
ActivePerl付属のPPMでモジュー...
-
Excel VBAで、ユーザーフォーム...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
VBAでoutlook365が起動しません。
-
VBScriptで、メールの送信をし...
-
VBAでsmtp認証をするには?
-
c#で 簡単なメール(添付ファ...
-
Perl メール 文字化け
-
Net::SMTPでメールを送信したい...
-
メールの送信について
-
Clipmail3.0 確認画面の非表示...
-
Exchangeを使用したメール送信...
-
Windowsメールを別アプリから操...
-
受信メールの本文の行間が空く
-
さくらインターネットでの添付...
-
プロキシ経由でjavamailを使っ...
-
VBSの修正点を教えてください。
-
添付ファイルをつけてメールを送る
-
BASP21使用のメール送信でコマ...
-
foreachでのメール一斉送信処理...
-
server errorで困ってます。
-
CDO.Messageを使ったVBScript
-
LotusScript メール作成方法が...
おすすめ情報