WEB相談室

Webページ作成に関しての何でも掲示板です。

タイトル:sendmail での折り返し。

0:[投稿] かず [MAIL] [2002/03/30 22:29 ][環境:WIN+NN WIN系+Perl]

sendmailでメールを送信する際、本文を $MailBody 等で出力する時、
私は下記の様にやってますが、$MailBody の内容に改行コードの全く無い
textを使用すると、当然、横に長いメールが送信されてしまいます。
コレガやなので、何とか指定文字数で、折り返しが出きる様にしたい
ので、下のようなPerlで苦し紛れに事前に、指定文字数ごとに
本文を区切って、出力時に改行コードを入れると全て全角で書かれた
時は上手くいくが、1バイト文字が混じると、ずれて上手くいかなくなる

何とかいい方法は有りませんかね?

open (MAIL,"| $mail_pass -t -f $my_mail") || &error("sendmailが使用できませんでした。");
print MAIL "Content-Transfer-Encoding: 7bit\n";
print MAIL "Content-Type: text/plain\; charset=\"ISO-2022-JP\"\n\n";
print MAIL "$MailBody\n";
close (MAIL);

       $length = length($MailBody);

    $offset = 0;
    while ($length >= $offset) {
    $new = substr($string,$offset,8);
    $offset += 8;
    push(@c,"$new");
    }


    print "<pre>";
    foreach $_(@c) {
    print "$_\n";
    }
    print "</pre>";


1:[回答] ふじ [URL] [2002/03/31 00:52 ]

http://www.din.or.jp/~ohzaki/perl.htm#JP_Fold
これが参考になるかと。


2:[完了] かず [2002/04/01 00:51 ]

 これでなんとかなりました。こんなページがあったんですね。
ほかにもこのページ色々参考になりそうです。
どうも有難うございました。

回答(必須): 状態:

お名前(必須):

e-mail:

URL:




[戻る]

ChaichanPAPA's World