CSS
無料お問合せはこちらから TEL 075-257-4588 営業時間 AM10:00〜PM7:00
| ホーム |
| 無料ホームページ作成講座 | ホームページ作成辞典| 田中茂(代表取締役社長)経歴 |

アクセスを増やす20の方法

CGIから送信するメールのヘッダに日本語を用いるには

トップ > アラカルト > CGIから送信するメールのヘッダに日本語を用いるには
CGIから送信するメールのヘッダに日本語を用いるには

CGIスクリプトから送信する電子メールのヘッダに日本語を用いるには、漢字コードを次のような形式に変換してやる必要があります。(EUCやシフトJISでもちゃんと届いて読める場合もありますが、電子メールの規約上は変換が必要です。)

Subject: =?iso-2022-jp?B?GyRCJEgkWyRbGyhK?=

これは、日本語を一度JISコードに変換し、それを、BASE64という形式でエンコードし、前後に =?iso-2022-jp?B? と ?= をつけたものです。BASE64エンコードは、3バイト分のバイトコードを、6ビットずつの4つのコードに分割し、この6ビットを A〜Z、a〜z、0〜9、+、/ の表示可能コードに振り分けるものです。perlスクリプトで、このエンコードを行う方法を次に示します。

jcode.pl は下記のページから入手できます。

require "jcode.pl";

$xx = "WEB";
$xx = &mail64encode($xx);
print "$xx\n";

sub mail64encode {
  local($xx) = $_[0];
  &jcode'convert(*xx, "jis");
  $xx =~ s/\x1b\x28\x42/\x1b\x28\x4a/g; # 不要かも
  $xx = &base64encode($xx);
  return("=?iso-2022-jp?B?$xx?=\n");
}

sub base64encode {
  local($base) = "ABCDEFGHIJKLMNOPQRSTUVWXYZ"
               . "abcdefghijklmnopqrstuvwxyz"
               . "0123456789+/";
  local($xx, $yy, $zz, $i);
  $xx = unpack("B*", $_[0]);
  for ($i = 0; $yy = substr($xx, $i, 6); $i += 6) {
    $zz .= substr($base, ord(pack("B*", "00" . $yy)), 1);
    if (length($yy) == 2) {
      $zz .= "==";
    } elsif (length($yy) == 4) {
      $zz .= "=";
    }
  }
  return($zz);
}

<< PAGE TOP >>

BACK UP 初心者でホームページを考えてられてる方へ

独自ネットショップや楽天ショップ・YAHOOショップ運営される初心者の方も、無料で、親切にアドバイスいたします。
SEO・月次更新・リニュアルetc

ホームページ制作の事なら

何でもお問合せください。
お問合せフォームはこちらから

ホームページ作成は京都のリュウム株式会社

京都市中京区橋弁慶町222番地
ヒライビル3階

TEL 075-257-4588
営業時間 AM10:00-PM7:00


無料お問合せはこちらから TEL 075-257-4588 営業時間 AM10:00〜PM7:00
| ホーム |
| 無料ホームページ作成講座 | ホームページ作成辞典|田中茂(代表取締役社長)経歴|
CSS
Ryuumu