邮件文件附件限制

时间:2017-07-17 12:41:34

标签: php email server email-attachments

我有一个php文件,用附件发送邮件。

以下是代码:

$filename = 'test.jpg';
$path = 'uploads';
$file = $path . "/" . $filename;

$mailto = 'mail@mail.com';
$subject = 'Subject';
$message = 'My message';

$content = file_get_contents($file);
$content = chunk_split(base64_encode($content));

// a random hash will be necessary to send mixed content
$separator = md5(time());

// carriage return type (RFC)
$eol = "\r\n";

// main header (multipart mandatory)
$headers = "From: name <test@test.com>" . $eol;
$headers .= "MIME-Version: 1.0" . $eol;
$headers .= "Content-Type: multipart/mixed; boundary=\"" . $separator . "\"" . $eol;
$headers .= "Content-Transfer-Encoding: 7bit" . $eol;
$headers .= "This is a MIME encoded message." . $eol;

// message
$body = "--" . $separator . $eol;
$body .= "Content-Type: text/plain; charset=\"iso-8859-1\"" . $eol;
$body .= "Content-Transfer-Encoding: 8bit" . $eol;
$body .= $message . $eol;

// attachment
$body .= "--" . $separator . $eol;
$body .= "Content-Type: application/octet-stream; name=\"" . $filename . "\"" . $eol;
$body .= "Content-Transfer-Encoding: base64" . $eol;
$body .= "Content-Disposition: attachment" . $eol;
$body .= $content . $eol;
$body .= "--" . $separator . "--";

//SEND Mail
if (mail($mailto, $subject, $body, $headers)) {
    echo "mail send ... OK"; // or use booleans here
} else {
    echo "mail send ... ERROR!";
    print_r( error_get_last() );
}

当我上传文件时&lt; 8Mb它完美运行,但是当文件大小超过8Mb时,邮件不会被发送。我收到错误"mail send ... ERROR!"

我查看了我的phpinfo:

memory_limit    512M
upload_max_filesize 128M
post_max_size   64M
max_execution_time  300

一切似乎都很好......

该网站由OVH托管,我在本地服务器上尝试过并遇到同样的问题......

有人有想法吗?

0 个答案:

没有答案