2012-04-13 9 views
0

最初はmail()関数で電子メールを送信していましたが、常に迷惑メールフォルダにキャッチされるので、PHP PEARを使用してSMTPを使用して送信しますいくつかのエラー。PHPが梨メールモジュールで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"] = "[email protected]"; 
    $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());} 

ただし、次のエラーが表示されます。

Fatal error: Class 'Mail' not found in /mounted-storage/hoxxx/xxx01/xx/auto-sal.es/functions.php on line 17

しかし、私のホストは、これらのモジュールは、https://www.servage.net/wiki/List_of_PEAR_modules

誰が助言してくださいすることはできますがインストールされていません。

+0

あなたのコードにはrequireステートメントがありますか?私はエラーが1つで生成されると思っていましたが、PEARの理解が不足している可能性があります。私はSwift Mailerが優れていると聞いたことがあり、これまでに使ったことがあります。 – Joel

+0

ええ、Mail.phpが必要です。私はこのLOLをあきらめました。通常のmail()関数を使用しています。 –

答えて

1

現在のライブラリを修正しようとする場合は、ストレージシステムの構造のみを知るため、おそらくホスティングプロバイダの問題です。

もう1つのオプションはSwift Mailerです。ライブラリをアップロードして、使用する各ページに含めることができます。ウェブサイトには優れた文書があり、経験からSwift MailerはあなたがしたいSMTPを行うことができます。

+0

ありがとうございます –

関連する問題