$ _REQUEST 온라인 양식 데이터 항목에 PHP 스크립트 (HTML 포함)를 작성하고 (1) CSV로 작성하여 첨부 파일로 이메일을 보내거나 (2) 모든 이메일 본문에 데이터가 포함됩니다.이메일에 CSV 첨부 파일과 본문 문자를 보내려고합니다.
그러나 나는 동시에 둘 다를 할 수 없습니다. CSV를 데이터베이스로 신속하게 가져오고 싶습니다. 전자 메일 본문에 세부 정보를 포함시켜 발송 부서에 포장을위한 선택 목록이 포함되도록하고 싶습니다. 서로 방해하지 않고 두 기능을 동시에 작동 시키려면 어떻게합니까?
미리 감사드립니다.
PHP 스크립트
$to = "[email protected]";
$subject = "Order - " . $_Tech_Name;
//Add the headers
$semi_rand = md5(time());
$mime_boundary = "==Multipart_Boundary_x{$semi_rand}x";
$headers = "MIME-Version: 1.0\n" .
"From: {$email_from}\n" .
"Content-Type: multipart/mixed;\n" .
" boundary=\"{$mime_boundary}\"";
// email body includes only fields not null
$body = "";
foreach ($_REQUEST as $Field=>$Value) {
if($Value != ''){
$body .= "$Field: $Value\n\n";
}
}
$email_body = "Here are the details: \n\n $body";
// csv file name format
$today = date("m.d.y");
$csv_name = "order - " . $_Tech_Name . " " . $today . ".csv";
$fp = fopen($csv_name,'a');
fwrite($fp,$data);
fclose($fp);
$attachments[] = Array(
'data' => $data,
'name' => $csv_name,
'type' => 'application/vnd.ms-excel'
);
//Add sttachments
foreach($attachments as $attachment){
$data = chunk_split(base64_encode($attachment['data']));
$name = $attachment['name'];
$type = $attachment['type'];
$message .=
"--{$mime_boundary}\n" .
"Content-Type: {$type};\n" .
" name=\"{$name}\"\n" .
"Content-Transfer-Encoding: base64\n\n" .
$data . "\n\n" ;
}
** PHP 스크립트 - 내가 위의 스크립트의 일부는 다음과 같은 추가 스크립트로 문제를 격리, 그러나 그것이 왜 나는 아직 이해하지 못하는 문제. $ message (첨부 파일) 또는 $ email_body (본문) 중 하나를 주석 처리함으로써 나는 다른 하나를 작동시킬 수 있습니다. 내가 거기에 두 변수를 떠날 경우에, 다음 어느 작품 **
mail(
$to,
$subject,
$message, // for attachment only
// $email_body, // for body only
$headers
);
을 확인하십시오. http://stackoverflow.com/questions/5816421/send-csv-file-attached-to-the-email – Arun