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


php mail() doesn't send e-mail with images from particular host

>我正在尝试发送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.

不要重新发明轮子!

发送高级邮件,将它们硬编码为 HTMLs mail() 函数是一项繁琐的任务。

相反,你应该使用类似phpMailer的东西或使用PEAR包PEAR::Mail_Mime。

这是因为如果您自己编写脚本,则有很多陷阱需要规避。