KENT-WEB サポートコーナー 過去ログ [ 0102 ]


記事No: 411
投稿日: 2007/05/01(Tue) 11:52:33
タイトル自動返信の送信者名
ID情報: neropon
投稿者: neropon

はじめまして、お名前.comにサーバーをレンタルしていてこちらのCGIを使わせていただこうと思っております。
PostMailの3.41です。
自動返信の過去ログを参考にさせていただいて返信メールの本文内容はうまく変更できました(〜様ありがとうございます 等)。
メーラー(アウトルックエクスプレス)に表示される件名も変更できたのですが、受信トレイの「送信者」のところにフォームに入力されたお客様の名前が表示されます。
この「送信者」に当方の会社名を表示させるようにしたいのですがうまくいきません。
初歩的な質問かもしれませんがよろしくお願いいたします。


記事No: 417
投稿日: 2007/05/01(Tue) 20:55:25
タイトルRe: 自動返信の送信者名
ID情報: tems
投稿者: BAL
URLhttp://f43.aaa.livedoor.jp/~sumure/

> はじめまして、お名前.comにサーバーをレンタルしていてこちらのCGIを使わせていただこうと思っております。
> PostMailの3.41です。
> 自動返信の過去ログを参考にさせていただいて返信メールの本文内容はうまく変更できました(〜様ありがとうございます 等)。
> メーラー(アウトルックエクスプレス)に表示される件名も変更できたのですが、受信トレイの「送信者」のところにフォームに入力されたお客様の名前が表示されます。
> この「送信者」に当方の会社名を表示させるようにしたいのですがうまくいきません。
> 初歩的な質問かもしれませんがよろしくお願いいたします。

こんな感じでしょうか

【変更前】
# MIMEエンコード
if (-e $mimew) {
require $mimew;
$subject2 = &mimeencode($subject);

if ($in{'name'}) {
$from = &mimeencode("\"$in{'name'}\" <$email>");
} else {
$from = $email;
}
} else {
$subject2 = &base64($subject);

if ($in{'name'}) {
$from = &base64("\"$in{'name'}\"") . " <$email>";
} else {
$from = $email;
}
}


【変更後】
# MIMEエンコード
if (-e $mimew) {
require $mimew;
$subject2 = &mimeencode($subject);
$from = &mimeencode("\"会社名\" <$mailto>");
} else {
$subject2 = &base64($subject);
$from = &base64("\"会社名\"") . " <$mailto>";
}


記事No: 424
投稿日: 2007/05/02(Wed) 11:19:57
タイトルRe^2: 自動返信の送信者名
ID情報: neropon
投稿者: neropon
URLhttp://www.fude556.com

> > はじめまして、お名前.comにサーバーをレンタルしていてこちらのCGIを使わせていただこうと思っております。
> > PostMailの3.41です。
> > 自動返信の過去ログを参考にさせていただいて返信メールの本文内容はうまく変更できました(〜様ありがとうございます 等)。
> > メーラー(アウトルックエクスプレス)に表示される件名も変更できたのですが、受信トレイの「送信者」のところにフォームに入力されたお客様の名前が表示されます。
> > この「送信者」に当方の会社名を表示させるようにしたいのですがうまくいきません。
> > 初歩的な質問かもしれませんがよろしくお願いいたします。
>
> こんな感じでしょうか
>
> 【変更前】
> # MIMEエンコード
> if (-e $mimew) {
> require $mimew;
> $subject2 = &mimeencode($subject);
>
> if ($in{'name'}) {
> $from = &mimeencode("\"$in{'name'}\" <$email>");
> } else {
> $from = $email;
> }
> } else {
> $subject2 = &base64($subject);
>
> if ($in{'name'}) {
> $from = &base64("\"$in{'name'}\"") . " <$email>";
> } else {
> $from = $email;
> }
> }
>
>
> 【変更後】
> # MIMEエンコード
> if (-e $mimew) {
> require $mimew;
> $subject2 = &mimeencode($subject);
> $from = &mimeencode("\"会社名\" <$mailto>");
> } else {
> $subject2 = &base64($subject);
> $from = &base64("\"会社名\"") . " <$mailto>";
> }


記事No: 425
投稿日: 2007/05/02(Wed) 11:45:10
タイトルRe^2: 自動返信の送信者名
ID情報: neropon
投稿者: neropon

> > はじめまして、お名前.comにサーバーをレンタルしていてこちらのCGIを使わせていただこうと思っております。
> > PostMailの3.41です。
> > 自動返信の過去ログを参考にさせていただいて返信メールの本文内容はうまく変更できました(〜様ありがとうございます 等)。
> > メーラー(アウトルックエクスプレス)に表示される件名も変更できたのですが、受信トレイの「送信者」のところにフォームに入力されたお客様の名前が表示されます。
> > この「送信者」に当方の会社名を表示させるようにしたいのですがうまくいきません。
> > 初歩的な質問かもしれませんがよろしくお願いいたします。
>
> こんな感じでしょうか
>
> 【変更前】
> # MIMEエンコード
> if (-e $mimew) {
> require $mimew;
> $subject2 = &mimeencode($subject);
>
> if ($in{'name'}) {
> $from = &mimeencode("\"$in{'name'}\" <$email>");
> } else {
> $from = $email;
> }
> } else {
> $subject2 = &base64($subject);
>
> if ($in{'name'}) {
> $from = &base64("\"$in{'name'}\"") . " <$email>";
> } else {
> $from = $email;
> }
> }
>
>
> 【変更後】
> # MIMEエンコード
> if (-e $mimew) {
> require $mimew;
> $subject2 = &mimeencode($subject);
> $from = &mimeencode("\"会社名\" <$mailto>");
> } else {
> $subject2 = &base64($subject);
> $from = &base64("\"会社名\"") . " <$mailto>";
> }

BAL様お返事ありがとうございます。
ご指示のようにpostmail.cgiの451行目 #MIMEエンコードの部分を変更後にそっくり入れ替えてアップしました。
HPの入力フォームから記入後送信してみると(送信はうまくいきます。)まず、
・フォームに入力したお客様のメールアドレスには返信がありませんでした。
・管理者側のメールアドレスには、nobody@shared-server.net という送信者名で件名なしのメールが届きました。
届いたメールの本文には

=?ISO-2022-JP?B?IhskQkFPOm5JLko4O3okVSRHJDQkMyRtGyhKIg==?= <xxxxxxx@ybb.ne.jp>  ←管理者(私)のメールアドレス
Cc: xxxxxx@yahoo.co.jp   ← フォームで入力したお客様のアドレス
Subject: =?ISO-2022-JP?B?GyRCSS5KODt6JDMkSCRQM1skNENtSjglVSUpITwlYCRoJGokTkF3Py4kcjNORyckJCQ/JDckXiQ3JD8bKEo=?=
MIME-Version: 1.0
Content-type: text/plain; charset=ISO-2022-JP
Content-Transfer-Encoding: 7bit
Date: Wed, 02 May 2007 11:12:56 +0900
X-Mailer: postmail v3.41

上記のような文章があり、下のほうには通常通りフォーム内容が記載されていました。
基本設定では $cc_mail = 1; としています。

変更の仕方がまちがっているのでしょうか・・・
よろしくお願いいたします。







記事No: 426
投稿日: 2007/05/02(Wed) 20:05:40
タイトルRe^3: 自動返信の送信者名
ID情報: tems
投稿者: BAL
URLhttp://f43.aaa.livedoor.jp/~sumure/

> ご指示のようにpostmail.cgiの451行目 #MIMEエンコードの部分を変更後にそっくり入れ替えてアップしました。
> HPの入力フォームから記入後送信してみると(送信はうまくいきます。)まず、
> ・フォームに入力したお客様のメールアドレスには返信がありませんでした。
> ・管理者側のメールアドレスには、nobody@shared-server.net という送信者名で件名なしのメールが届きました。
> 届いたメールの本文には
>
> =?ISO-2022-JP?B?IhskQkFPOm5JLko4O3okVSRHJDQkMyRtGyhKIg==?= <xxxxxxx@ybb.ne.jp>  ←管理者(私)のメールアドレス
> Cc: xxxxxx@yahoo.co.jp   ← フォームで入力したお客様のアドレス
> Subject: =?ISO-2022-JP?B?GyRCSS5KODt6JDMkSCRQM1skNENtSjglVSUpITwlYCRoJGokTkF3Py4kcjNORyckJCQ/JDckXiQ3JD8bKEo=?=
> MIME-Version: 1.0
> Content-type: text/plain; charset=ISO-2022-JP
> Content-Transfer-Encoding: 7bit
> Date: Wed, 02 May 2007 11:12:56 +0900
> X-Mailer: postmail v3.41
>
> 上記のような文章があり、下のほうには通常通りフォーム内容が記載されていました。
> 基本設定では $cc_mail = 1; としています。
>
> 変更の仕方がまちがっているのでしょうか・・・
> よろしくお願いいたします。

Ccを使用せず双方にそれぞれのメールを送信する方法を試してください。

# 本文テンプレ読み込み
open(IN,"$tmp_body");
while (<IN>) {
s/\r\n/\n/;

$tbody .= $_;
}
close(IN);
#▼ここから▼
# 返信用テンプレ読み込み
open(IN,"$tmp_body2");
while (<IN>) {
s/\r\n/\n/;

$tbody2 .= $_;
}
close(IN);
#▲ここまで追加▲
# テンプレ変数変換
$tbody =~ s/\$date/$date1/;
$tbody2 =~ s/\$date/$date1/; ## ←追加
$tbody =~ s/\$agent/$agent/;
$tbody =~ s/\$host/$host/;
&jcode'convert(*tbody, 'jis');
&jcode'convert(*tbody2, 'jis'); ## ←追加

-- 途中省略 --

# 本文テンプレ内の変数を置き換え
$tbody =~ s/\$message/$mbody/;
$tbody2 =~ s/\$message/$mbody/; ## ←追加
# メールアドレスがない場合は送信先に置き換え
if ($in{'email'} eq "") { $email = $mailto; }
else { $email = $in{'email'}; }

# MIMEエンコード
if (-e $mimew) {
require $mimew;
$subject2 = &mimeencode($subject);
$from = &mimeencode("\"$master_name\" <$mailto>"); ## ←修正
} else {
$subject2 = &base64($subject);
$from = &base64("\"$master_name\"") . " <$mailto>"; ## ←修正
}

# 送信内容フォーマット化
$body = "To: $mailto\n";
$body .= "From: $from\n";
#if ($cc_mail && $email) { $body .= "Cc: $email\n"; } ## ←コメントアウト
$body .= "Subject: $subject2\n";
$body .= "MIME-Version: 1.0\n";
$body .= "Content-type: text/plain; charset=iso-2022-jp\n";
$body .= "Content-Transfer-Encoding: 7bit\n";
$body .= "Date: $date2\n";
$body .= "X-Mailer: $ver\n\n";
$body .= "$tbody\n";
#▼ここから▼
# 送信内容フォーマット化
$body2 = "To: $email\n";
$body2 .= "From: $from\n";
$body2 .= "Subject: $subject2\n";
$body2 .= "MIME-Version: 1.0\n";
$body2 .= "Content-type: text/plain; charset=iso-2022-jp\n";
$body2 .= "Content-Transfer-Encoding: 7bit\n";
$body2 .= "Date: $date2\n";
$body2 .= "X-Mailer: $ver\n\n";
$body2 .= "$tbody2\n";
#▲ここまで追加▲
# IO:Socketモジュール送信
if ($send_type == 2) {
require $io_socket;
&sendmail($email, $mailto, $body);

# sendmail送信
} else {
open(MAIL,"| $sendmail -t -i") || &error("メール送信失敗");
print MAIL "$body\n";
close(MAIL);
#▼ここから▼
open(MAIL,"| $sendmail -t -i") || &error("メール送信失敗");
print MAIL "$body2\n";
close(MAIL);
#▲ここまで追加▲
}


●基本設定への追加
# 送信「本文」テンプレート【サーバパス】
$tmp_body = './tmpl/body.txt';
$tmp_body2 = './tmpl/body2.txt'; ## ←返信用テンプレート

# メールの送信者名
$master_name = "会社名"; ## ←追加


記事No: 451
投稿日: 2007/05/04(Fri) 10:35:52
タイトルRe^4: 自動返信の送信者名
ID情報: neropon
投稿者: neropon
URLhttp://www.fude556.com

> Ccを使用せず双方にそれぞれのメールを送信する方法を試してください。
>
> # 本文テンプレ読み込み
> open(IN,"$tmp_body");
> while (<IN>) {
> s/\r\n/\n/;
>
> $tbody .= $_;
> }
> close(IN);
> #▼ここから▼
> # 返信用テンプレ読み込み
> open(IN,"$tmp_body2");
> while (<IN>) {
> s/\r\n/\n/;
>
> $tbody2 .= $_;
> }
> close(IN);
> #▲ここまで追加▲
> # テンプレ変数変換
> $tbody =~ s/\$date/$date1/;
> $tbody2 =~ s/\$date/$date1/; ## ←追加
> $tbody =~ s/\$agent/$agent/;
> $tbody =~ s/\$host/$host/;
> &jcode'convert(*tbody, 'jis');
> &jcode'convert(*tbody2, 'jis'); ## ←追加
>
> -- 途中省略 --
>
> # 本文テンプレ内の変数を置き換え
> $tbody =~ s/\$message/$mbody/;
> $tbody2 =~ s/\$message/$mbody/; ## ←追加
> # メールアドレスがない場合は送信先に置き換え
> if ($in{'email'} eq "") { $email = $mailto; }
> else { $email = $in{'email'}; }
>
> # MIMEエンコード
> if (-e $mimew) {
> require $mimew;
> $subject2 = &mimeencode($subject);
> $from = &mimeencode("\"$master_name\" <$mailto>"); ## ←修正
> } else {
> $subject2 = &base64($subject);
> $from = &base64("\"$master_name\"") . " <$mailto>"; ## ←修正
> }
>
> # 送信内容フォーマット化
> $body = "To: $mailto\n";
> $body .= "From: $from\n";
> #if ($cc_mail && $email) { $body .= "Cc: $email\n"; } ## ←コメントアウト
> $body .= "Subject: $subject2\n";
> $body .= "MIME-Version: 1.0\n";
> $body .= "Content-type: text/plain; charset=iso-2022-jp\n";
> $body .= "Content-Transfer-Encoding: 7bit\n";
> $body .= "Date: $date2\n";
> $body .= "X-Mailer: $ver\n\n";
> $body .= "$tbody\n";
> #▼ここから▼
> # 送信内容フォーマット化
> $body2 = "To: $email\n";
> $body2 .= "From: $from\n";
> $body2 .= "Subject: $subject2\n";
> $body2 .= "MIME-Version: 1.0\n";
> $body2 .= "Content-type: text/plain; charset=iso-2022-jp\n";
> $body2 .= "Content-Transfer-Encoding: 7bit\n";
> $body2 .= "Date: $date2\n";
> $body2 .= "X-Mailer: $ver\n\n";
> $body2 .= "$tbody2\n";
> #▲ここまで追加▲
> # IO:Socketモジュール送信
> if ($send_type == 2) {
> require $io_socket;
> &sendmail($email, $mailto, $body);
>
> # sendmail送信
> } else {
> open(MAIL,"| $sendmail -t -i") || &error("メール送信失敗");
> print MAIL "$body\n";
> close(MAIL);
> #▼ここから▼
> open(MAIL,"| $sendmail -t -i") || &error("メール送信失敗");
> print MAIL "$body2\n";
> close(MAIL);
> #▲ここまで追加▲
> }
>
>
> ●基本設定への追加
> # 送信「本文」テンプレート【サーバパス】
> $tmp_body = './tmpl/body.txt';
> $tmp_body2 = './tmpl/body2.txt'; ## ←返信用テンプレート
>
> # メールの送信者名
> $master_name = "会社名"; ## ←追加

BAL様お手数おかけしてます。
すみません。どうしてもわからない部分があります。
# MIMEエンコードの内容はそのままその部分をかえました。

>●基本設定への追加
># 送信「本文」テンプレート【サーバパス】
>$tmp_body = './tmpl/body.txt';
>$tmp_body2 = './tmpl/body2.txt'; ## ←返信用テンプレート

># メールの送信者名
>$master_name = "会社名"; ## ←追加

この部分を基本設定へそのまま追加しました。
しかし、
# 本文テンプレ読み込み 以下

# 送信内容フォーマット化 

という部分がさがせません。postmail.cgiの何行目あたりでしょう・・
申し訳ありません。はじめてcgiを開いてみているので少々無謀な試みだったかもしれませんが、何とかがんばりたいのでよろしくお願いいたします。


記事No: 453
投稿日: 2007/05/04(Fri) 13:03:16
タイトルRe^5: 自動返信の送信者名
ID情報: tems
投稿者: BAL
URLhttp://f43.aaa.livedoor.jp/~sumure/

> すみません。どうしてもわからない部分があります。
> # MIMEエンコードの内容はそのままその部分をかえました。
>
> >●基本設定への追加
> ># 送信「本文」テンプレート【サーバパス】
> >$tmp_body = './tmpl/body.txt';
> >$tmp_body2 = './tmpl/body2.txt'; ## ←返信用テンプレート
>
> ># メールの送信者名
> >$master_name = "会社名"; ## ←追加
>
> この部分を基本設定へそのまま追加しました。
> しかし、
> # 本文テンプレ読み込み 以下
>
> # 送信内容フォーマット化 
>
> という部分がさがせません。postmail.cgiの何行目あたりでしょう・・
> 申し訳ありません。はじめてcgiを開いてみているので少々無謀な試みだったかもしれませんが、何とかがんばりたいのでよろしくお願いいたします。


スクリプトのバージョンがv4.12の場合の説明です。バージョンが古いと記述は多少異なります。


記事No: 459
投稿日: 2007/05/05(Sat) 20:07:36
タイトルRe^6: 自動返信の送信者名
ID情報: neropon
投稿者: neropon

> スクリプトのバージョンがv4.12の場合の説明です。バージョンが古いと記述は多少異なります。

BAL様ありがとうございました。
バージョンを4.12に変更しアップしたあと、修正したらバッチリ希望通りにできました!お客様への返信にはこちらの社名が送信者として表示されてます。
ただ、バージョンが以前のものでは、お客様返信メールの本文に○○様とできたんですが、body2.txt に 

$in{'name'} 様

と追加したらそのまま$in{'name'} 様と表示しうまくいきません・・・


記事No: 460
投稿日: 2007/05/05(Sat) 20:33:22
タイトルRe^7: 自動返信の送信者名
ID情報: tems
投稿者: BAL
URLhttp://f43.aaa.livedoor.jp/~sumure/

> バージョンを4.12に変更しアップしたあと、修正したらバッチリ希望通りにできました!お客様への返信にはこちらの社名が送信者として表示されてます。
> ただ、バージョンが以前のものでは、お客様返信メールの本文に○○様とできたんですが、body2.txt に 
>
> $in{'name'} 様
>
> と追加したらそのまま$in{'name'} 様と表示しうまくいきません・・・

以下一行を追加してください。
テンプレートには「$name様」としてください。

# テンプレ変数変換
$tbody =~ s/\$date/$date1/;
$tbody2 =~ s/\$date/$date1/; ## ←追加
$tbody2 =~ s/\$name/$in{'name'}/; ### ←これを追加
$tbody =~ s/\$agent/$agent/;
$tbody =~ s/\$host/$host/;
&jcode'convert(*tbody, 'jis');
&jcode'convert(*tbody2, 'jis'); ## ←追加


記事No: 474
投稿日: 2007/05/06(Sun) 11:46:06
タイトルRe^8: 自動返信の送信者名
ID情報: neropon
投稿者: neropon

> 以下一行を追加してください。
> テンプレートには「$name様」としてください。
>
> # テンプレ変数変換
> $tbody =~ s/\$date/$date1/;
> $tbody2 =~ s/\$date/$date1/; ## ←追加
> $tbody2 =~ s/\$name/$in{'name'}/; ### ←これを追加
> $tbody =~ s/\$agent/$agent/;
> $tbody =~ s/\$host/$host/;
> &jcode'convert(*tbody, 'jis');
> &jcode'convert(*tbody2, 'jis'); ## ←追加

BAL様本当にありがとうございました。
イメージどおりになりました。
初心者にも大変わかりやすくご説明いただき感激しております。
これから、デザインの方を変更していきたいと思います!


記事No: 480
投稿日: 2007/05/06(Sun) 15:45:11
タイトルRe^9: 自動返信の送信者名
ID情報: neropon
投稿者: neropon

> > 以下一行を追加してください。
> > テンプレートには「$name様」としてください。
> >
> > # テンプレ変数変換
> > $tbody =~ s/\$date/$date1/;
> > $tbody2 =~ s/\$date/$date1/; ## ←追加
> > $tbody2 =~ s/\$name/$in{'name'}/; ### ←これを追加
> > $tbody =~ s/\$agent/$agent/;
> > $tbody =~ s/\$host/$host/;
> > &jcode'convert(*tbody, 'jis');
> > &jcode'convert(*tbody2, 'jis'); ## ←追加
>
> BAL様本当にありがとうございました。
> イメージどおりになりました。

BAL様もう一箇所教えてください。
送信フォームのデザインを変更して送信テストをしてみましたところ、フォームに記入後- 以下の内容でよろしければ送信ボタンを押して下さい -のページ(conf.html)が表示されたとき
項目の見出しに name となっています。
これをなんとか 「お名前」 に変えることはできないでしょうか。 属性を変更してみたら、返信メール本文中の ○○様の名前の部分が表示しなくなってしまいました・・・ので、もとに戻しております。
もう一歩なのでなんとかお力をお貸しください!


記事No: 481
投稿日: 2007/05/06(Sun) 15:57:09
タイトルRe^10: 自動返信の送信者名
ID情報: tems
投稿者: BAL
URLhttp://f43.aaa.livedoor.jp/~sumure/

> 送信フォームのデザインを変更して送信テストをしてみましたところ、フォームに記入後- 以下の内容でよろしければ送信ボタンを押して下さい -のページ(conf.html)が表示されたとき
> 項目の見出しに name となっています。
> これをなんとか 「お名前」 に変えることはできないでしょうか。 属性を変更してみたら、返信メール本文中の ○○様の名前の部分が表示しなくなってしまいました・・・ので、もとに戻しております。
> もう一歩なのでなんとかお力をお貸しください!

以下の修正を。

$tbody2 =~ s/\$name/$in{'name'}/;
       ↓
$tbody2 =~ s/\$name/$in{'お名前'}/;


記事No: 483
投稿日: 2007/05/06(Sun) 16:18:52
タイトルRe^11: 自動返信の送信者名
ID情報: neropon
投稿者: neropon

> 以下の修正を。
>
> $tbody2 =~ s/\$name/$in{'name'}/;
>        ↓
> $tbody2 =~ s/\$name/$in{'お名前'}/;

早速のお返事ありがとうございます。
# テンプレ変数変換の部分の上記のところを変更しました。

項目のところの表記は name のままです。
返信したメールの本文中の ○○様 の名前部分は表記されず、様だけ表示されています・・・。


記事No: 485
投稿日: 2007/05/06(Sun) 16:47:26
タイトルRe^12: 自動返信の送信者名
ID情報: tems
投稿者: BAL
URLhttp://f43.aaa.livedoor.jp/~sumure/

> > 以下の修正を。
> >
> > $tbody2 =~ s/\$name/$in{'name'}/;
> >        ↓
> > $tbody2 =~ s/\$name/$in{'お名前'}/;
>
> 早速のお返事ありがとうございます。
> # テンプレ変数変換の部分の上記のところを変更しました。
>
> 項目のところの表記は name のままです。
> 返信したメールの本文中の ○○様 の名前部分は表記されず、様だけ表示されています・・・。

当方で動作確認をしたところ返信テンプレートに$name様を記述していれば届いたメールには入力フォームデ記入した名前が正常に表示されていました。


記事No: 486
投稿日: 2007/05/06(Sun) 16:56:54
タイトルRe^13: 自動返信の送信者名
ID情報: neropon
投稿者: neropon

> 当方で動作確認をしたところ返信テンプレートに$name様を記述していれば届いたメールには入力フォームデ記入した名前が正常に表示されていました。

BAL様
申し訳ありません、お手数おかけしました。
htmlの方のお名前をname に戻したままだった!ので・・・
<input type="text" name="お名前" size="40" />にしたらうまくいきました。
本当にありがとうございます。他の方の質問にも丁寧に答えてあるところを拝見して本当に頭がさがります・・・。
ずっと、さけてたCGIをはじめてさわることが出来てもう少し勉強してみようと思うようになりました。
また、本当におじゃますると思いますが、よろしくお願いします。


[検索ページ]