タスクセルを使用してUbuntu11.04、LAMPをインストールしました。
PHPのmail()
動作しません。
私はそれか何かを有効にする必要があると思いますか?どうすればいいですか?
ベストアンサー
phpのメールマニュアルから:
要件
メール機能を
利用できるようにするには、PHPに
インストールされて機能するメールシステムが必要です。使用するプログラムは、
php.iniファイルの
構成設定によって定義されます。
これは、ある種のメールサーバーをインストールし、それを使用するようにphpを構成する必要があることを意味します。通常、このメールサーバーはUbuntuではpostfixです。ただし、コーディングしているphp側が最終的にホスティングサービス側に保存される場合(xmissionなど)、メールサーバーはすでにそこにインストールされている可能性があります。その場合は、ローカルではなくオンラインでサイトをテストしてください。
自分のシステムでテストする必要がある場合、または自分のホームサーバーでホストする場合は、次の手順に進みます。
Postfixのインストール
インストール:接尾辞 / sudo apt-get install postfix
プロセス中に、postfixをインストールするモードを尋ねられます。 4つの可能なモードがあります:
- インターネット :あなた自身のメールサーバー。
- 衛星 :メールの送受信には、外部のメールプロバイダー(Googleなど)が使用されます。サーバーはメールを受信しません。
- スマートホスト :2つの混合物。メールはローカルに保存されますが、外部のメールプロバイダーを介して送信されます。
- ローカルのみ :気になりません。それはシステムインターンのメールサーバーです。システム上のユーザーからユーザーにのみメールを送信できます。
残りのインストールオプションは、この一般的な構成の選択によって異なります。
ほとんどの場合、衛星インストールを選択します。つまり、メールは外部プロバイダーを使用して送信されます。次に、smtp-server(送信メールサーバー)として、プロバイダーのsmtpを指定する必要があります。残りのオプションは自明です。
インストール後の構成
ほとんどのSMTPサーバーは、メールを送信するためにパスワード認証を必要とします。したがって、postfixはそのパスワードを知る必要があります。また、考慮すべき暗号化のようなものもあります(これはグーグルする必要があります)。これは、パスワード認証(sasl)を使用してpostfixを構成する方法です:
-
libsasl2-modulesをインストールします およびsasl2-bin ソフトウェアセンターのアイコンをクリックするか、ターミナルから次のコマンドを使用します。
sudo apt-get install libsasl2-2 libsasl2-modules sasl2-bin
-
これらの行を
/etc/postfix/main.cf
に追加して、sasl-authを有効にします# add to /etc/postfix/main.cf smtp_sasl_auth_enable = yes smtp_sasl_security_options = noplaintext noanonymous smtp_sasl_password_maps = hash:/etc/postfix/sasl_password
-
ファイルを作成する
/etc/postfix/sasl_password
次のような行で:smtp.gmail.com [email protected]:USERPASSWORD
実際のパスワード、ユーザー名、SMTPアドレスに置き換えてください。
-
接尾辞の更新:
sudo chmod 600 /etc/postfix/sasl_password # for safety of your smtp password sudo postmap hash:/etc/postfix/sasl_password sudo postmap /etc/postfix/sender_canonical sudo /etc/init.d/postfix restart
chown postfix:postfix /etc/postfix
で「permissiondenied」バグを回避する必要があるかもしれません 事前に。
ほとんどの場合、これでうまくいくはずです。ただし、一部のSMTPプロバイダーでは、送信者または暗号化として特定のアドレスが必要です。
関連:PEAR::メールインターフェースもあなたの興味を引くかもしれません。
Gmail(およびおそらく他のサービス)は、標準で安全でないと見なされる可能性があるため、この方法でメールを送信しようとしていることを好まない可能性があります。つまり、画面に何も表示されないか、プロセス全体のどこかでブロックされます。あなたの認証。また、POP3を有効にする必要があります。
これに対抗するには、ここを参照してください。 (安全を確保したい場合は、ダミーのGmailアカウントを作成してください)