こんにちは私はここでチュートリアルといくつかの回答に従いましたが、それでもテストとしてGmailに添付ファイル付きのメールを送信しようとすると機能しません。Eメール:
アフリカンピグミーハリネズミクラブニュースレター
admin@africanpygmyhedgehogclub.co.uk via moth.xssl.net
「」
コンテンツタイプ:text / html;
アフリカンピグミーハリネズミクラブニュースレター
こんにちは、これはテストメッセージです--1575d7e57c4ae2d9bdd29f847d8f48ea
コンテンツタイプ:image / jpeg; 名前= "を/ tmp / php7LfGKW" コンテンツ転送エンコード:base64でコンテンツディスポジション:添付ファイル/ 9J / 4AAQSkZJRgABAgEASABIAAD / 4RNGRXhpZgAATU0AKgAAAAgABwESAAMAAAABAAEAAAEaAAUA AAABAAAAYgEbAAUAAAABAAAAagEoAAMAAAABAAMAAAExAAIAAAAUAAAAcgEyAAIAAAAUAAAAhodp AAQAAAABAAAAnAAAAMgAAAAcAAAAAQAAABwAAAABQWRvYmUgUGhvdG9zaG9wIDcuMAAyMDA5OjA4 OjA4IDIxOjE1OjA5AAAAAAOgAQADAAAAAf // AACgAgAEAAAAAQAAAligAwAEAAAAAQAAAdAAAAAA AAAABgEDAAMAAAABAAYAAAEaAAUAAAABAAABFgEbAAUAAAABAAABHgEoAAMAAAABAAIAAAIBAAQA AAABAAABJgICAAQAAAABAAASGAAAAAAAAABIAAAAAQAAAEgAAAAB / 9J / 4AAQSkZJRgABAgEASABI AAD / 7QAMQWRvYmVfQ00AAv / uAA5BZG9iZQBkgAAAAAH / 2wCEAAwICAgJCAwJCQwRCwoLERUPDAwP FRgTExUTExgRDAwMDAwMEQwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwBDQsLDQ4NEA4OEBQO ....
私のコード:
if(isset($_POST['send_newsletter']))
{
$newsletter->store_form_values($_POST);
$emails = explode(',', $newsletter->newsletter_emails);
$file = $_FILES;
$send_email = $newsletter->email_newsletter($emails, $file);
echo $send_email;
}
public function email_newsletter($emails, $file)
{
//email address from
$from = 'admin@africanpygmyhedgehogclub.co.uk';
//subject
$subject = "African Pygmy Hedgehog Club News Letter";
$random_hash = "--" . md5(date('r', time())) . "\r\n\n";
$boundry_last = $random_hash;
//turn emails array into csv
$bcc = null;
foreach($emails as $key => $value)
{
if($key == 'newsletter_sign_email')
{
$bcc .= $value . ',';
}
}
$bcc = rtrim($bcc);
//headers
$headers = 'From: ' . $from . "\r\n";
$headers .= 'Reply-To: ' . $from . "\r\n";
$headers .= 'BCC: ' . $bcc . "\r\n";
$headers .= "MIME-Version: 1.0\r\n";
$headers .= "Content-Type: multipart/mixed; boundary=\"PHP-mixed-" . $random_hash . "\"";
//main message body
$message = "Content-Type: text/html;" . "\r\n";
$message .= "<h3>African Pygmy Hedgehog Club News Letter</h3>\n\n";
$message .= $this->formatting($this->newsletter_content) . "\r\n";
$message .= $random_hash;
//attachment
$file = $file['newsletter_attachment'];
$filename = $file['tmp_name'];
$filecontents = file_get_contents($filename);
$message .= "Content-Type: " . $file['type'] . "; name=\"" . $filename . "\"" . "\r\n";
$message .= "Content-Transfer-Encoding: base64" . "\r\n";
$message .= "Content-Disposition: attachment" . "\r\n";
$message .= chunk_split(base64_encode($filecontents)) . "\r\n";
$message .= $boundry_last;
if(mail($from, $subject, $message, $headers))
{
$result = "Successfully Sent News Letter";
}
else
{
$result = "Failed to Send New Letter, please try again!";
}
return $result;
}