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.

Shishant
sumber

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 = "[email protected]"
sendmail_path = "/usr/sbin/sendmail -t -i -f [email protected]"

Ubah [email protected] 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).

Darren Cook
sumber
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 [email protected]"
Sliq
1
Akhirnya! Solusi yang lurus ke depan dan sederhana. Bekerja di Ubuntu 14.04.
Knyri
2

Anda harus mengatur server ubuntu untuk dapat mengirim email ... sebagai contoh, Anda dapat menginstal dan mengkonfigurasi postfix.

Dokumentasi Ubuntu memiliki halaman yang bagus di https://help.ubuntu.com/community/MailServer

Dominik
sumber
ada tutorial yang bisa Anda tautkan dengan saya?
Shishant
menambahkan tautan tutorial
Dominik
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.


sumber
0

Anda harus menginstal paket xmail terlebih dahulu, dan jika masih tidak berfungsi, lihat di sini .

Prof. Falken
sumber