일본어 메일 발송 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 195건 5 페이지
  • RSS
기술자료 목록
115
PHP   22828  2013-08-22 13:35 ~ 2021-08-20 19:00  
114
PHP   21419  2013-06-20 05:00  
113
PHP   17921  2013-06-19 00:29  
112
PHP   23231  2013-05-30 21:27  
111
PHP   18610  2013-05-28 14:27  
110
PHP   17080  2013-05-16 13:13  
109
PHP   17640  2013-05-11 21:40  
108
PHP   17398  2013-04-17 23:13 ~ 2021-05-18 16:40  
107
PHP   32454  2013-04-16 02:21 ~ 2020-02-11 20:22  
106
PHP   16986  2013-03-26 01:49  
105
PHP   18782  2013-02-20 12:09 ~ 2021-07-15 07:19  
104
PHP   19593  2012-10-28 23:34  
열람
PHP   18643  2012-06-13 03:34  
102
PHP   45933  2012-04-05 00:46  
101
PHP   42819  2012-04-04 23:04  
100
PHP   16947  2012-04-04 22:15 ~ 2021-01-18 12:04  
99
PHP   31965  2012-03-31 17:48 ~ 2018-12-17 14:52  
98
PHP   18725  2012-03-31 11:03  
97
PHP   92539  2012-03-26 22:22  
96
PHP   52123  2012-03-24 22:40 ~ 2012-03-31 00:00  

검색

해피정닷컴 정보

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

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