PHP用梨邮件模块发送smtp电子邮件

时间:2012-04-13 00:23:52

标签: pear php

最初我是通过mail()函数发送电子邮件,但它们总是被垃圾邮件文件夹捕获,所以现在我想使用PHP PEAR使用SMTP发送它们,但我收到了一些错误。

在functions.php中我有电子邮件功能,如;

function send_mail($from,$to,$subject,$body)
{
    // Setting up the SMTP setting
    $smtp_info["host"] = "smtp1.servage.net"; 
    $smtp_info["port"] = "25"; 
    $smtp_info["auth"] = true; 
    $smtp_info["username"] = "xxx@auto-sal.es"; 
    $smtp_info["password"] = "xxx"; 

    // Creating the PEAR mail object :
    $mail_obj =& Mail::factory("smtp", $smtp_info); 

    $headers = '';
    $headers .= "From: $from\n";
    $headers .= "Reply-to: $from\n";
    $headers .= "Return-Path: $from\n";
    $headers .= "Message-ID: <" . md5(uniqid(time())) . "@" . $_SERVER['SERVER_NAME'] . ">\n";
    $headers .= "MIME-Version: 1.0\n";
    $headers .= "Date: " . date('r', time()) . "\n";

    $mail_sent = $mail_obj->send($to,$subject,$body,$headers);

    if (PEAR::isError($mail_sent)) { print($mail_sent->getMessage());}

但我收到以下错误;

  

致命错误:未找到“邮件”类   /mounted-storage/hoxxx/xxx01/xx/auto-sal.es/functions.php   第17行

但是,我的主机确实安装了这些模块https://www.servage.net/wiki/List_of_PEAR_modules

任何人都可以提供建议。

1 个答案:

答案 0 :(得分:1)

如果您想尝试修复当前的库,那么它可能是您的托管服务提供商的问题,因为只有他们才会知道他们的存储系统的结构。

您的另一个选择可能是使用Swift Mailer您只需上传库,然后将其包含在您想要使用的每个页面中。该网站有很好的文档和经验,Swift Mailer可以做你想做的SMTP。