php mail()不会发送包含来自特定主机的图像的电子邮件

时间:2014-11-17 14:49:24

标签: php wordpress email html-email

我正在尝试发送html电子邮件。当我发送没有图像的电子邮件或来自其他域的图像时,它工作正常。但是当我从我的主机放置图像时,它根本不会发送电子邮件。

我尝试使用来自我的域的图片从其他主机发送电子邮件,这似乎正常。

有没有人有类似的问题,我该如何解决?

编辑:这是我使用的功能。

function send_html_email($email = '', $template, $subject = '', $data = array()) {

    /* email header */
    ob_start();
    require TEMPLATEPATH . '/email-templates/header.php';
    $header = ob_get_contents();
    ob_clean();

    /* email content */
    ob_start();
    require TEMPLATEPATH . "/email-templates/{$template}.php";
    $content = ob_get_contents();
    ob_clean();

    /* email footer */
    ob_start();
    require TEMPLATEPATH . '/email-templates/footer.php';
    $footer = ob_get_contents();
    ob_clean();

    $message = $header . $content . $footer;

    $headers[] = 'Content-type: text/html';     

    return wp_mail( $email, $subject, $message, $headers );

}

我尝试使用wp_mail()mail()函数,两者都返回true

1 个答案:

答案 0 :(得分:2)

不要重新发明轮子!

发送高级邮件,将其硬编码为HTML邮件()函数是一项繁琐的工作。

相反,您应该使用phpMailer之类的内容或使用PEAR包PEAR::Mail_Mime

这是因为如果你自己编写脚本,就会有很多陷阱。