일본어 메일 발송 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건 73 페이지
  • RSS
기술자료 목록
1201
ClassicASP   18704  2012-06-13 13:37  
열람
PHP   18167  2012-06-13 03:34  
1199
MySQL   12788  2012-06-13 02:18  
1198
SQL   12749  2012-06-13 01:59  
1197
WindowsServer   16449  2012-06-11 14:35 ~ 2016-02-10 00:00  
1196
WindowsServer   17369  2012-06-11 14:27  
1195
ClassicASP   17801  2012-06-11 12:09 ~ 2012-06-11 00:00  
1194
etc언어   13410  2012-06-11 11:19  
1193
ClassicASP   13614  2012-06-11 06:55  
1192
HTML   52907  2012-06-07 17:46 ~ 2023-11-17 10:41  
1191
JavaScript   27034  2012-06-05 00:48  
1190
HTML   24859  2012-06-04 18:26 ~ 2020-01-19 13:34  
1189
메이크샵   12169  2012-06-02 11:51  
1188
메이크샵   10240  2012-06-02 11:45  
1187
그누보드   18991  2012-06-01 20:26  
1186
HTML   30441  2012-06-01 11:53 ~ 2012-06-02 00:00  
1185
ClassicASP   13363  2012-05-30 19:50  
1184
SQL   19535  2012-05-30 14:36 ~ 2013-09-22 00:00  
1183
SQL   11996  2012-05-30 13:55  
1182
HTML   18005  2012-05-29 21:09  

검색

해피정닷컴 정보

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

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