Recent Changes

2011-02-19

Latest File Release

This Project Has Not Released Any Files

Wiki Guide

Side Bar

devmailブランチについて

devmailブランチはメール関連を便利にするためのパッチを集めるブランチ。 ある程度まとまったら、ダウンロード出来るようにするかも?

sendmailが使えないサーバで外部SMTPを使う機能

パッチは r10 でコミット。 config.phpに追加があります。

変更前

// PEAR::Mailで外部SMTPサーバに送信する
define('MAIL_NET_SMTP', false);

// 外部SMTPサーバ設定
// PEAR::Mailのバックエンド名smtpのパラメータを指定してください
$GLOBALS['_NET_SMTP_SERVER'] = array(
    'host'     => 'localhost',
    'port'     => 25,
    'auth'     => false,
    'debug'    => false,
    'username' => '',
    'password' => '',
);

変更後(gmailを使って送信するサンプル)

// Pear::Mailで外部SMTPサーバに送信する
define('MAIL_NET_SMTP', true);

// 外部SMTPサーバ設定
$GLOBALS['_NET_SMTP_SERVER'] = array(
    'host'     => 'tls://smtp.gmail.com',
    'port'     => 465,
    'auth'     => true,
    'debug'    => 'false',
    'username' => 'hogehoge',
    'password' => 'hogehogehoge',
);

  • 注意事項

外部SMTPサーバに送信する場合は、スパム認定等にされないように充分設定の確認と送信テストを行ってください。

define('OPENPNE_DEBUGGING', 0);
にして、メール送信が実行されるアクション(新規登録や招待など)を実施すると、送信出来なかった場合にOPENPNE_DIR/var/log/php_errors.logにログが記録されます。

携帯メール投稿が使えないサーバで外部POP3サーバを使う機能

パッチは r11 でコミット。 config.phpに追加があります。

変更前

// PEAR::Net_POP3でメール投稿を外部POPサーバから取得する
define('MAIL_NET_POP3', false);

// 外部SMTPサーバ設定
$GLOBALS['_NET_POP3_SERVER'] = array(
    'host'     => '',
    'port'     => 110,
    'username' => '',
    'password' => ''
);

変更後(gmailを使うサンプル)

// PEAR::Net_POP3でメール投稿を外部POPサーバから取得する
define('MAIL_NET_POP3', true);

// 外部SMTPサーバ設定
$GLOBALS['_NET_POP3_SERVER'] = array(
    'host'     => 'ssl://pop.gmail.com',
    'port'     => 995,
    'username' => 'hogehoge',
    'password' => 'hogehogehoge'
);

crontabにbin/mail_pop.cronを指定して下さい。 詳細はsetup/OpenPNE_Setup.htmlの4-3. cronの設定などを参考にして下さい。

1分毎にPOP3でメールを取得する

*/1 * * * *     OPENPNE_DIR/bin/mail_pop3.cron OPENPNE_DIR/bin/ '/usr/bin/php' >/dev/null 2>&1

  • 注意事項

外部POPサーバと通信する場合は、充分設定の確認と送信テストを行ってください。

define('MAIL_DEBUG_LOG', true);
にして、メール投稿を実施すると、詳細のログがOPENPNE_DIR/var/log/mail.logに記録されます。

gmailで運用する

上記2機能を追加すると、Gmail+WebサーバのみでOpenPNEのメール機能が使用できます。 ※GmailサーバとのPOP3,SMTP通信そのものが許可されていない場合は不可能です。

gmailのアカウントを取得する

gmail.comで専用のアカウントを取ります。 アカウントをhogehogeとします。(hogehoge@gmail.com)

config.phpの設定

define('MAIL_SERVER_DOMAIN', 'gmail.com');
define('MAIL_ADDRESS_PREFIX', 'hogehoge+');
define('MAIL_ADDRESS_HASHED', false);

// PEAR::Mailで外部SMTPサーバに送信する
define('MAIL_NET_SMTP', true);

// 外部SMTPサーバ設定
$GLOBALS['_NET_SMTP_SERVER'] = array(
    'host'     => 'tls://smtp.gmail.com',
    'port'     => 465,
    'auth'     => true,
    'debug'    => 'false',
    'username' => 'hogehoge',
    'password' => 'hogehoge',
);

// PEAR::Net_POP3でメール投稿を外部POPサーバから取得する
define('MAIL_NET_POP3', true);

// 外部SMTPサーバ設定
$GLOBALS['_NET_POP3_SERVER'] = array(
    'host'     => 'ssl://pop.gmail.com',
    'port'     => 995,
    'username' => 'hogehoge',
    'password' => 'hogehoge'
);

gmailの設定

gmailの設定から メール転送とPOP/IMAP を選び、2. POP でメールにアクセスする場合 を Gmailのメールを削除する にしておきます。これにより投稿されたメールはPOP3で取得すると自動的に削除されます。