これが100回カバーされていることは知っていますが、これを機能させる正しい方法をまだ見つけられないようです。このコードが機能して添付ファイル付きのメールを送信する場合もあれば、添付ファイルが届く場合もあれば、まったく送信されない場合もあります。PHPMailer() を試してみましたが、何かを添付すると、本文が送信されず、添付ファイルも届きません。swiftmailer を試しましたが、添付ファイルが機能しません。多分それは私のサーバーのIPageですか?php.ini ファイルで何かを変更する必要があるかどうかわかりません。しかし、ここに私が持っているものがあります。
if($category == 'music' || $category == 'sports'){
$to[1] = 'post@tweetymail.com';
$to[2] = '1234567890@tumblr.com';
$to[3] = 'website.1234567890@blogger.com';
}
$soc_post = substr($post,0,139);
$subject[1] = $title;
$subject[2] = 'Website - ' . $title;
$subject[3] = 'Site - ' . $title;
$message[1] = '';
$message[2] = $url_field . ' ' . str_replace("rnrn"," ",$soc_post);
$message[3] = '<a href="'.$url_field.'">'.$new_url. '</a> ' . str_replace("rnrn"," ",$soc_post);
for($i=1; $i<=3; $i++){
$fileatt = $_FILES['blog_pic']['tmp_name'];
$fileatt_type = $$_FILES['blog_pic']['type'];
$fileatt_name = $_FILES['blog_pic']['name'];
$email_message = $message[$i];
$headers = "From: Website Blog <blog@website.com>";
$file=fopen($fileatt,'rb');
$data=fread($file,filesize($fileatt));
fclose($file);
$semi_rand=md5(time());
$mime_boundary ="==Multipart_Boundary_x{$semi_rand}x";
$headers .= "\nMIME-Version: 1.0\n" .
"Content-Type: multipart/mixed;\n" .
" boundary=\"{$mime_boundary}\"";
$email_message="This is a multi-part message in MIME format.\n\n" .
"--{$mime_boundary}\n" .
"Content-Type:text/html; chartset=\"iso-8859-1\"\n" .
"Content-Transfer-Encoding: 7bit\n\n" .
$email_message .= "\n\n";
$data=chunk_split(base64_encode($data));
$email_message .= "--{$mime_boundary}\n" .
"Content-Type:{$fileatt_type};\n" .
" name=\"{$fileatt_name }\"\n" .
//"Content-Disposition: attachment;\n" .
//" filename=\"{$fileatt_name}\"\n" .
"Content-Transfer-Encoding: base64\n\n" .
$data .= "\n\n" .
"--{$mime_boundary}--\n";
mail($to[$i], $subject[$i], $email_message, $headers);