일본어 메일 발송 PHP 예제 , 첨부 가능 > 기술자료 | 해피정닷컴

일본어 메일 발송 PHP 예제 , 첨부 가능 > 기술자료

본문 바로가기

사이트 내 전체검색

일본어 메일 발송 PHP 예제 , 첨부 가능 > 기술자료

PHP 일본어 메일 발송 PHP 예제 , 첨부 가능

페이지 정보


본문



<?php

// SETUP
$to[] = 'test@testtest.jp';
$to[] = 'testtest2@yahoo.co.jp';
$from_email= 'sender@address.co.jp';
$from_name = '送信者名';
$subject = 'メールのタイトル'; 
 
$body = "
 
このメールは、自動で送信されるメールです。
 
資料を送信致します。
添付ファイルをご参考して下さい。
 
以上です。
"; 
 
$attach_file = "/path/path/path/file.dat";
 
// send the email
foreach( $to as $to_email ) {
    sendmail_jpn($to_email, $subject, $body, $from_email,$from_name, $attach_file);
    sleep(1);
}
 
echo "送信完了";
 
//関数-----------------------------------
 
function sendmail_jpn($to, $subject, $message, $from_email,$from_name, $filepath)
{
    $mime_type = "application/octet-stream";
 
    // 添付ファイルのエンコード
    $filename = basename( $filepath );
 
    // マルチパートなので、パートの区切り文字列を指定
    $boundary = '----=_Boundary_' . uniqid(rand(1000,9999) . '_') . '_';
 
    // 件名のエンコード
    $subject = mb_convert_encoding($subject, 'ISO-2022-JP', 'SJIS');
    $subject = mb_encode_mimeheader_ex($subject);
 
    // 本文のエンコード
    $message = mb_convert_encoding($message, 'ISO-2022-JP', 'SJIS');
 
    // toをエンコード
    // $to = mb_convert_encoding($mail['to']['name'], "SJIS", "SJIS");
    $to = "=?ISO-2022-JP?B?" . base64_encode($to) . '?= <' . $to . '>';
 
    // fromをエンコード
    // $from = mb_convert_encoding($mail['from']['name'], "SJIS", "SJIS");
    $from = "=?ISO-2022-JP?B?" . base64_encode($from_name) . '?= <' . $from_email . '>';
 
    // 添付ファイルのエンコード
    $filename = mb_convert_encoding($filename, 'ISO-2022-JP', 'SJIS');
    $filename = "=?ISO-2022-JP?B?" . base64_encode($filename) . "?=";
 
    // ヘッダーの指定
    $head = "";
    $head .= "From: {$from}\n";
    $head .= "MIME-Version: 1.0\n";
    $head .= "Content-Type: multipart/mixed; boundary=\"{$boundary}\"\n";
    $head .= "Content-Transfer-Encoding: 7bit";
 
    $body = "";
 
    // 本文
    $body .= "--{$boundary}\n";
    $body .= "Content-Type: text/plain; charset=ISO-2022-JP;" .
              "Content-Transfer-Encoding: 7bit\n";
    $body .= "\n";
    $body .= "{$message}\n";
    $body .= "\n";
 
    // 添付ファイルの処理
    $body .= "--{$boundary}\n";
    $body .= "Content-Type: {$mime_type}; name=\"{$filename}\"\n" .
             "Content-Transfer-Encoding: base64\n" .
             "Content-Disposition: attachment; filename=\"{$filename}\"\n";
    $body .= "\n";
 
    $fp = fopen( $filepath, "r" ) or die("Error on mailing. (attachment file cannot open)");
    $contents = fread( $fp, filesize($filepath) );
    fclose( $fp );
    $f_encoded = chunk_split(base64_encode($contents)); //添付ファイルをbase64エンコードする
    $body .= "{$f_encoded}\n";
    $body .= "\n";
 
    if (mail($to, $subject, $body, $head)) {
        echo 'sendmail_jpn : OK.';
    } else {
        echo 'sendmail_jpn : FAILURE.';
    }
}
 
// mb_encode_mimeheaderのバグ対策用
function mb_encode_mimeheader_ex($text, $split_count = 34) {
    $position = 0;
    $encorded = '';</p>
 
    while ($position < mb_strlen($text, 'ISO-2022-JP')) {
        if ($encorded != '') {
            $encorded .= "\r\n ";
        }
        $output_temp = mb_strimwidth($text, $position, $split_count, '', 'ISO-2022-JP');
        $position = $position + mb_strlen($output_temp, 'ISO-2022-JP');
        $encorded .= "=?ISO-2022-JP?B?" . base64_encode($output_temp) . "?=";
    }
 
    return $encorded;

댓글목록

등록된 댓글이 없습니다.


Total 2,641건 72 페이지
  • RSS
기술자료 목록
1221
HTML   32165  2012-09-06 01:21  
1220
ClassicASP   23754  2012-08-23 19:16 ~ 2013-12-20 00:00  
1219
SQL   14749  2012-08-23 01:28 ~ 2012-10-29 00:00  
1218
JavaScript   21666  2012-08-23 01:18  
1217
Editor   33799  2012-07-26 23:16  
1216
HTML   20888  2012-07-17 20:51  
1215
영카트   27194  2012-07-16 20:51  
1214
영카트   15798  2012-07-16 20:41  
1213
일반   36641  2012-07-04 12:24  
1212
일반   36238  2012-06-28 00:00  
1211
JavaScript   20731  2012-06-23 23:47  
1210
JavaScript   15453  2012-06-23 23:45  
1209
ClassicASP   14016  2012-06-23 23:01  
1208
MSSQL   42957  2012-06-23 19:33  
1207
HTML   16022  2012-06-23 17:21 ~ 2014-05-22 00:00  
1206
메이크샵   12817  2012-06-21 06:51  
1205
JavaScript   35752  2012-06-21 05:20 ~ 2022-11-18 13:06  
1204
호스팅   18517  2012-06-16 20:00 ~ 2014-08-09 00:00  
1203
그누보드   14262  2012-06-16 06:20  
1202
WindowsServer   32103  2012-06-14 13:32  

검색

해피정닷컴 정보

회사소개 회사연혁 협력사 오시는길 서비스 이용약관 개인정보 처리방침

회사명: 해피정닷컴   대표: 정창용   전화: 070-7600-3500   팩스: 042-670-8272
주소: (34368) 대전시 대덕구 대화로 160 대전산업용재유통단지 1동 222호
개인정보보호책임자: 정창용   사업자번호: 119-05-36414
통신판매업신고: 제2024-대전대덕-0405호 [사업자등록확인]  
Copyright 2001~2025 해피정닷컴. All Rights Reserved.