$from = "[email protected]";
$headers = "From:" . $from;
echo mail ("[email protected]" ,"testmailfunction" , "Oj",$headers);
Saya kesulitan mengirim email dalam PHP. Saya mendapatkan error: SMTP server response: 530 SMTP authentication is required
.
Saya mendapat kesan bahwa Anda dapat mengirim email tanpa SMTP untuk memverifikasi. Saya tahu bahwa email ini mungkin akan difilter, tetapi itu tidak masalah sekarang.
[mail function]
; For Win32 only.
; http://php.net/smtp
SMTP = localhost
; http://php.net/smtp-port
smtp_port = 25
; For Win32 only.
; http://php.net/sendmail-from
sendmail_from = someonelse@example.com
Ini adalah pengaturan dalam php.ini
file. Bagaimana saya mengatur SMTP? Apakah ada server SMTP yang tidak memerlukan verifikasi atau haruskah saya membuat server sendiri?
mail()
fungsi bawaan PHP .'phpmailer_init'
hook tindakan. Ini adalah cara yang nyaman untuk mengatur WordPress untuk surat SMTP atau Amazon SES (yang mendukung koneksi SMTP).atau, untuk lebih jelasnya, baca terus .
sumber
php mail()
masalah fungsi godaddy - 2017 - tidak harus mengunduh PHPMailer atau sumber daya pihak ke-3 lainnya - terima kasihUntuk pengguna Unix, mail () sebenarnya menggunakan perintah Sendmail untuk mengirim email. Alih-alih memodifikasi aplikasi, Anda dapat mengubah lingkungan. msmtp adalah klien SMTP dengan sintaks CLI Sendmail yang kompatibel yang berarti dapat digunakan sebagai pengganti Sendmail. Ini hanya membutuhkan perubahan kecil untuk php.ini Anda.
Kemudian bahkan fungsi mail () yang rendah dapat bekerja dengan kebaikan SMTP. Ini sangat berguna jika Anda mencoba menghubungkan aplikasi yang sudah ada ke layanan email seperti sendgrid atau mandrill tanpa memodifikasi aplikasi.
sumber
mail()
ke sesuatu yang mendukung SMTP. Terima kasih!Masalahnya adalah bahwa
mail()
fungsi PHP memiliki fungsi yang sangat terbatas. Ada beberapa cara untuk mengirim email dari PHP.mail()
menggunakan server SMTP di sistem Anda. Setidaknya ada dua server yang dapat Anda gunakan di Windows: hMailServer dan xmail . Saya menghabiskan beberapa jam mengkonfigurasi dan membangunkan mereka. Yang pertama lebih sederhana menurut saya. Saat ini, hMailServer bekerja pada Windows 7 x64.mail()
menggunakan server SMTP di mesin jarak jauh atau virtual dengan Linux. Tentu saja, layanan email nyata seperti Gmail tidak memungkinkan koneksi langsung tanpa kredensial atau kunci. Anda dapat mengatur mesin virtual atau menggunakan mesin yang terletak di LAN Anda. Kebanyakan distro linux memiliki server mail di luar kotak. Konfigurasikan dan bersenang-senanglah. Saya menggunakan exim4 default pada Debian 7 yang mendengarkan antarmuka LAN-nya.Apa pun pilihan Anda, saya sarankan Anda menggunakan beberapa lapisan abstraksi. Anda dapat menggunakan perpustakaan PHP pada mesin pengembangan Anda yang menjalankan Windows dan cukup
mail()
berfungsi pada mesin produksi dengan Linux. Lapisan abstraksi memungkinkan Anda untuk menukar driver surat tergantung pada sistem yang menjalankan aplikasi Anda. BuatMyMailer
kelas atau antarmuka abstrak dengansend()
metode abstrak . Mewarisi dua kelasMyPhpMailer
danMySwiftMailer
. Terapkansend()
metode dengan cara yang tepat.sumber
Berikut adalah cara untuk melakukannya dengan PHP PEAR
Jika Anda menggunakan SMTP Gmail, ingatlah untuk mengaktifkan SMTP di akun Gmail Anda, di bawah pengaturan
EDIT: Jika Anda tidak dapat menemukan Mail.php di debian / ubuntu Anda dapat menginstal php-pear
Kemudian instal ekstensi email:
Maka Anda harus dapat memuatnya dengan cara
require_once "Mail.php"
lain yang berada di sini:/usr/share/php/Mail.php
sumber
Ada beberapa server SMTP yang bekerja tanpa otentikasi, tetapi jika server membutuhkan otentikasi, tidak ada cara untuk mengelak dari itu.
Fungsi surat bawaan PHP sangat terbatas - menentukan server SMTP hanya dimungkinkan di Windows. Pada * nix,
mail()
akan menggunakan binari OS.Jika Anda ingin mengirim E-Mail ke server SMTP yang sewenang-wenang di internet, pertimbangkan untuk menggunakan perpustakaan seperti SwiftMailer . Itu akan memungkinkan Anda untuk menggunakan, misalnya, server keluar Google Mail.
sumber
Dalam kasus di mana Anda meng-hosting situs Wordpress di Linux dan memiliki akses server, Anda dapat menyimpan beberapa sakit kepala dengan menginstal msmtp yang memungkinkan Anda mengirim via smtp dari fungsi standar php mail (). msmtp adalah alternatif yang lebih sederhana untuk postfix yang membutuhkan konfigurasi lebih banyak.
Berikut langkah-langkahnya:
Instal msmtp
Buat file konfigurasi baru:
... dengan informasi konfigurasi berikut:
Anda perlu mengganti data konfigurasi yang diwakili oleh semua yang ada di dalam "<" dan ">" (inklusif, hapus ini). Untuk host / nama pengguna / kata sandi, gunakan kredensial normal Anda untuk mengirim email melalui penyedia email Anda.
Beri tahu PHP untuk menggunakannya
Tambahkan baris ini:
Dokumentasi lengkap dapat ditemukan di sini:
https://marlam.de/msmtp/
sumber