Siapkan server ubuntu untuk mengirim surat ()


40

Saya mencoba mencari banyak tetapi tidak dapat menemukan cara untuk benar-benar mengatur server ubuntu, sehingga saya dapat mengirim email melalui php menggunakan fungsi mail () di php.

Saya sudah menginstal apache2, mysql dan php5 di server saya.

Terima kasih.

Jawaban:


45

Saya juga setuju ada kekurangan tutorial untuk orang-orang yang hanya membutuhkan skrip untuk dikirim, mis. Email kesalahan, dan tidak perlu server email yang lengkap.

Pertama, jika postfix belum diinstal lakukan:

sudo apt-get install postfix

Itu diminta dengan beberapa pertanyaan. Untuk yang pertama saya memilih "situs Internet"; untuk mesin di belakang firewall saya mungkin memilih smarthost. Untuk pertanyaan kedua standarnya adalah nama mesin; Saya menambahkan nama domain yang saya kontrol (jadi saya dapat mengatur DNS untuk nanti, harus saya perlu).

Pada titik ini Anda harus dapat menggunakan "mail" dari commandline untuk mengirim tes. (Saya biasanya mengikuti instruksi di http://ubuntuforums.org/showthread.php?t=38429 terlebih dahulu, kalau tidak saya harus menggunakan -fflag untuk /usr/bin/sendmail. Saya juga suka membuat /etc/aliasesdengan entri untuk root dan pengguna normal saya, lalu jalankan newaliases)

Kemudian di bawah /etc/php5/conf.d buat file (mis. Mailconfig.ini) dengan konten ini:

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

Ubah me@example.com ke alamat email Anda. Mereka berarti semua email akan terlihat seperti dikirim oleh Anda, yang dapat membantu mencegah penolakan. Ini cukup untuk hanya mengirim email kesalahan ke pengembang.

(Instruksi di atas diuji pada Ubuntu 10.04, 11.04, 11.10, 12.04)

PS Seperti yang ditunjukkan oleh dihancurkan dalam komentar, mailtidak selalu ada (misalnya pada Ubuntu 11.10 itu hilang). Ini sebenarnya tidak mempengaruhi instruksi di atas, Anda hanya perlu mailuntuk tes ini, dan Anda dapat menggunakannya sendmailjuga untuk itu. Tetapi mailjuga berguna untuk membaca email, jadi biasanya perlu menginstalnya, dengan: apt-get install mailutils(sebagai root).


1
Terima kasih! Ini bekerja dengan sempurna. Diuji pada Ubuntu 12,04 LTS x64.
Trent Scott

Ini menyelesaikan menemukan menggunakan NGINX juga! Dan PHP5-FPM
TheBlackBenzKid

1
Catatan di host saya, mailutilitas baris perintah tidak diinstal pada instalasi Ubuntu yang bersih, dan menginstal PostFix tidak menginstalnya. Cobalah sudo apt-get install mailutilsuntuk mendapatkan mailperintah, atau gunakan alternatif seperti Mutt, ataussmtp
dihancurkan

Saya perlu berminggu-minggu untuk mengetahui bahwa barang-barang di belakang sendmail_pathharus "bekerja dengan benar, sepertisendmail_path = "/usr/sbin/sendmail -t -i -f me@example.com"
Sliq

1
Akhirnya! Solusi yang lurus ke depan dan sederhana. Bekerja di Ubuntu 14.04.
Knyri


1

Baik melalui proses yang menyakitkan mengatur server mail langsung di server Anda (postfix, dll) atau menggunakan perpustakaan yang akan memungkinkan Anda untuk terhubung langsung ke server smtp.


Dengan menggunakan situs kami, Anda mengakui telah membaca dan memahami Kebijakan Cookie dan Kebijakan Privasi kami.
Licensed under cc by-sa 3.0 with attribution required.