mail()を送信するためのubuntuサーバーのセットアップ


40

たくさん検索しようとしましたが、実際にubuntuサーバーを設定する方法を見つけることができなかったため、phpのmail()関数を使用してphp経由でメールを送信できます。

サーバーにapache2、mysql、php5がインストールされています。

ありがとうございました。

回答:


45

また、送信するスクリプト(たとえば、エラーメール)だけが必要で、本格的なメールサーバーを必要としないユーザー向けのチュートリアルが不足していることにも同意します。

まず、postfixがまだインストールされていない場合:

sudo apt-get install postfix

いくつかの質問が表示されます。最初に「インターネットサイト」を選択しました。ファイアウォールの背後にあるマシンでは、代わりにスマートホストを選択する場合があります。2番目の質問では、デフォルトでマシン名になります。制御するドメイン名を追加しました(必要に応じて後でDNSを設定できるように)。

この時点で、コマンドラインから「メール」を使用してテストを送信できるはずです。(私は通常http://ubuntuforums.org/showthread.php?t=38429の指示に従いますが、そうでない場合は-fフラグto を使用する必要があります/usr/bin/sendmail。また/etc/aliases、rootと通常のユーザーのエントリを使用して作成し、実行しますnewaliases

次に、/ etc / php5 / conf.dの下に次の内容のファイル(mailconfig.iniなど)を作成します。

sendmail_from = "me@example.com"
sendmail_path = "/usr/sbin/sendmail -t -i -f me@example.com"

me@example.comを自分のメールアドレスに変更します。それらは、すべての電子メールがあなたによって送信されたように見えることを意味し、拒否されるのを防ぐのに役立ちます。開発者にエラーメールを送信するだけで十分です。

(Ubuntu 10.04、11.04、11.10、12.04でテストされた上記の手順)

PSコメントで指摘されたように、mail常にそこにあるわけではありません(たとえば、Ubuntu 11.10では見つからない)。これは実際には上記の指示には影響しません。mailテストにのみ必要であり、そのためにsendmailも同様に使用できます。しかしmail、電子メールを読むのにも便利なので、通常はapt-get install mailutils(rootとして)インストールする価値があります。


1
ありがとう!これは完全に機能しました。Ubuntu 12.04 LTS x64でテスト済み。
トレントスコット

これにより、NGINXを使用した検索も解決されます。PHP5-FPM
TheBlackBenzKid

1
私のホストでは、mailコマンドラインユーティリティはUbuntuのクリーンインストールにはインストールされず、PostFixをインストールしてもインストールされません。試してみてくださいsudo apt-get install mailutils取得するにはmail、コマンドを、あるいは、Muttのとして使用する代替、またはssmtp
razzed

私は、スタッフbehindeがあることを理解するのに数週間必要sendmail_pathでなければならない"ように、正しく動作するsendmail_path = "/usr/sbin/sendmail -t -i -f me@example.com"
SLIQ

1
最後に!単純明快なソリューション。Ubuntu 14.04で動作します。
クニーリ14年


1

サーバーに直接メールサーバーを設定するという苦痛なプロセスを経るか(postfixなど)、smtpサーバーに直接接続できるライブラリを使用します。


弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.