2011-07-11 23 views
1

ビットコインマイニングのために、スクラッチ(Apache2 + PHP + Mysql + Puspoold + Bitcoin)から作られたカスタムのCMSパッケージをプログラミングしてdevleopしました。私は、多くの電子メールプログラム(sendmail/postfix)の選択とともに、ユーザーが使用するさまざまなディストリビューションを用意しています。 私のアプリケーションはsendmailを使ってローカルコンピュータ上で正常に動作しますが、私のローカルコンピュータからはまったくわからない商用型VPSシステムでは動作しないようです。PHPのメール送信を管理する最良の方法

とにかく、PHPでmail()関数を使う最良の方法は何ですか? メールから出力されたアクセルエラーを取得してから偽にするより良い方法はありますか? また、メール()が真であると報告することもあり、送信しないことがあります。 私はとても迷っています。私は通常、PHPエラーでこれほど多くの問題を抱えていることはありません。最終的にはこれを修正しても、sendmailパッケージを再インストールしてもうまく動作しないようです。

注:php.iniファイルを自分のニーズに合わせて編集してあり、PHPのsendmailのベストプラクティスを確認しています。ここでEAR MAIL

+0

VPSでexim4を使用している場合は、Eメールを外部に送信できるように再設定する必要があります。 ubuntu \ debianでは '[sudo] dpkg-reconfigure exim4'です。 – mikeycgto

答えて

0

を使用する方法の例の束です。これはphp.iniで直接行うこともできますし、ローカルのメールサーバを再設定してすべてのメールを中継することもできます。

あなたが使用するサーバーは、あなた次第です。自分で設定して、スパムのブロックなどですべての問題を管理することができます。また、SendGridのようなサードパーティの電子メールサービスを使用することもできます。

4

ネイティブsend()PHP関数の代わりにZend Mailを使用することをお勧めします。これを使用するためには、コピーする必要がある。ここでZendのライブラリ(直接アプリケーションまたはサーバー構成内)

が含まれます例です。

$config = array(
     'auth' => 'login', 
     'username' => '[email protected]', 
     'password' => 'password', 
     'ssl' => 'tls', 
     'port' => 587 
    ); 

    $mailTransport = new Zend_Mail_Transport_Smtp('smtp.gmail.com', $config); 
    Zend_Mail::setDefaultTransport($mailTransport); 


$mail = new Zend_Mail(); 
$mail->addTo($email); 
$mail->setSubject($subject); 
$mail->setBody($message); 
$mail->setFrom('[email protected]', 'User Name'); 

//Send it! 

try { 
    $mail->send(); 
} catch (Exception $e){ 

} 
関連する問題