PHP Mail()无法发送带有附件的电子邮件

用户名

我正在尝试创建图像的zip文件,然后发送电子邮件并将.zip文件附加到用户。但是,电子邮件未发送。我在服务器上的其他位置使用了mail(),所以我知道服务器没有阻止此功能。

if( (mysqli_num_rows($gallery_query) >= 1) || ($_SESSION['permission'] == 1) ){

        $photos = array();

        while( $photo = mysqli_fetch_assoc($gallery_query) ){

            $file_headers = @get_headers($photo[path]);
            if($file_headers[0] == 'HTTP/1.1 404 Not Found' || $file_headers[0] == 'HTTP/1.1 403 Not Found' || $file_headers[0] == 'HTTP/1.0 404 Not Found' || $file_headers[0] == 'HTTP/1.0 403 Forbidden') {

                $file_headers = @get_headers($photo[image]); 
                if($file_headers[0] == 'HTTP/1.1 404 Not Found' || $file_headers[0] == 'HTTP/1.1 403 Not Found' || $file_headers[0] == 'HTTP/1.0 404 Not Found' || $file_headers[0] == 'HTTP/1.0 403 Forbidden') {
                    //If we made it here we dont' have a copy of the image
                } else {
                    $photos[] = $photo[image];
                }
            } else {
                $photos[] = $photo[path];
            }   

        }

        //Begin zipping
        $zip = new ZipArchive();

        $tmp_file = tempnam('.','');
        $zip->open($tmp_file, ZipArchive::CREATE | ZIPARCHIVE::OVERWRITE);

        foreach($photos as $file){
            try{
                    // download file
                    $download_file = file_get_contents($file);

                    //add it to the zip
                    $zip->addFromString(basename($file),$download_file);

            } catch(Exception $e){
            }

        }
        $zip->close();      

    } //End if mysqli_num_rows >= 1

    $htmlbody = " Your Mail Contant Here.... You can use html tags here...";
    $to = $email; //Recipient Email Address
    $subject = "Images"; //Email Subject

    $random_hash = md5(date('r', time()));

    $headers = "From: [email protected]\r\nReply-To: [email protected]";
    $headers .= "MIME-Version: 1.0\n\r";
    $headers .= "\r\nContent-Type: multipart/mixed; boundary=\"PHP-mixed-".$random_hash."\"";

    $attachment = chunk_split(base64_encode(file_get_contents($tmp_file))); 


    //define the body of the message.
    $message = "--PHP-mixed-$random_hash\r\n"."Content-Type: multipart/alternative; boundary=\"PHP-alt-$random_hash\"\r\n\r\n";
    $message .= "--PHP-alt-$random_hash\r\n"."Content-Type: text/plain; charset=\"iso-8859-1\"\r\n"."Content-Transfer-Encoding: 7bit\r\n\r\n";


    //Insert the html message.
    $message .= $htmlbody;
    $message .="\r\n\r\n--PHP-alt-$random_hash--\r\n\r\n";


    //include attachment
    $message .= "--PHP-mixed-$random_hash\r\n"."Content-Type: application/zip; name=\"images.zip\"\r\n"."Content-Transfer-Encoding: base64\r\n"."Content-Disposition: attachment\r\n\r\n";

    $message .= $attachment;
    $message .= "/r/n--PHP-mixed-$random_hash--";


    //send the email
    $mail = mail( $to, $subject , $message, $headers );

    echo $mail ? "Mail sent" : "Mail failed";
放克四十尼纳

/r/n 需要读为 \r\n

然后

$headers .= "MIME-Version: 1.0\n\r";

$headers .= "MIME-Version: 1.0\r\n";

后者可能没有那么重要,但是您可以尝试一下是否有帮助。

  • /r/n绝对是一个大问题,虽然。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

php发送带有PDF附件的电子邮件

来自分类Dev

发送带有附件的PHP电子邮件(失败)

来自分类Dev

php发送带有PDF附件的电子邮件

来自分类Dev

PHP邮件程序无法发送没有附件的电子邮件

来自分类Dev

php生成带有csv附件的电子邮件-发送额外的(不正确的)版本

来自分类Dev

如何使用php发送带有pdf附件的电子邮件?

来自分类Dev

PHP-发送带有附件的电子邮件不显示消息内容

来自分类Dev

通过带有IF条件的PHP发送电子邮件

来自分类Dev

带有多个带有文本消息的附件的PHP电子邮件

来自分类Dev

PHP PEAR Mail和Mail_mime将附件添加到使用SMTP发送的电子邮件中

来自分类Dev

无法从PHP发送电子邮件

来自分类Dev

PHP-带有附件的电子邮件会使原始消息折叠

来自分类Dev

php mail()函数,标题问题,无法发送电子邮件

来自分类Dev

无法在PHP mail()电子邮件中发送md5

来自分类Dev

无法发送带有附件的电子邮件

来自分类Dev

Django无法发送带有附件的电子邮件

来自分类Dev

无法使用 nodemailer 发送带有附件的电子邮件

来自分类Dev

使用带有或不带有附件的php发送邮件

来自分类Dev

php mail()标头可阻止电子邮件发送

来自分类Dev

PHP'mail()'函数不发送电子邮件

来自分类Dev

从PHP Mail功能发送HTML电子邮件

来自分类Dev

发送带有附件的电子邮件

来自分类Dev

发送带有附件的电子邮件

来自分类Dev

PHP mail()函数将带有或不带有损坏的附件发送到不同的邮件系统

来自分类Dev

如何在php smtp中发送带有阿拉伯html内容的电子邮件

来自分类Dev

通过PHP $ _POST循环,发送带有值的电子邮件

来自分类Dev

PHP验证表单,带有发送HTML模板问题的电子邮件

来自分类Dev

在php中发送带有图片的HTML电子邮件问题

来自分类Dev

带有JS验证的PHP联系人表格未发送电子邮件

Related 相关文章

  1. 1

    php发送带有PDF附件的电子邮件

  2. 2

    发送带有附件的PHP电子邮件(失败)

  3. 3

    php发送带有PDF附件的电子邮件

  4. 4

    PHP邮件程序无法发送没有附件的电子邮件

  5. 5

    php生成带有csv附件的电子邮件-发送额外的(不正确的)版本

  6. 6

    如何使用php发送带有pdf附件的电子邮件?

  7. 7

    PHP-发送带有附件的电子邮件不显示消息内容

  8. 8

    通过带有IF条件的PHP发送电子邮件

  9. 9

    带有多个带有文本消息的附件的PHP电子邮件

  10. 10

    PHP PEAR Mail和Mail_mime将附件添加到使用SMTP发送的电子邮件中

  11. 11

    无法从PHP发送电子邮件

  12. 12

    PHP-带有附件的电子邮件会使原始消息折叠

  13. 13

    php mail()函数,标题问题,无法发送电子邮件

  14. 14

    无法在PHP mail()电子邮件中发送md5

  15. 15

    无法发送带有附件的电子邮件

  16. 16

    Django无法发送带有附件的电子邮件

  17. 17

    无法使用 nodemailer 发送带有附件的电子邮件

  18. 18

    使用带有或不带有附件的php发送邮件

  19. 19

    php mail()标头可阻止电子邮件发送

  20. 20

    PHP'mail()'函数不发送电子邮件

  21. 21

    从PHP Mail功能发送HTML电子邮件

  22. 22

    发送带有附件的电子邮件

  23. 23

    发送带有附件的电子邮件

  24. 24

    PHP mail()函数将带有或不带有损坏的附件发送到不同的邮件系统

  25. 25

    如何在php smtp中发送带有阿拉伯html内容的电子邮件

  26. 26

    通过PHP $ _POST循环,发送带有值的电子邮件

  27. 27

    PHP验证表单,带有发送HTML模板问题的电子邮件

  28. 28

    在php中发送带有图片的HTML电子邮件问题

  29. 29

    带有JS验证的PHP联系人表格未发送电子邮件

热门标签

归档