Bagaimana cara mengkonfigurasi XAMPP untuk mengirim email dari localhost?
255
Saya mencoba mengirim email dari localhost. tetapi saya tidak dapat mengirim surat dari localhost sehingga siapa pun dapat memberitahu saya bahwa cara mengkonfigurasi ulang xampp saya untuk mengirim email dari localhost
Tidak mungkin membantu jika Anda tidak memberi kami konfigurasi saat ini.
arkascha
1
Apakah ini masih relevan dengan Merkuri yang disertakan (ApacheFriends XAMPP 1.8.2)? Saya akan berpikir ya, tetapi jika ada orang yang lebih memilih Merkurius, harap sebutkan di bawah ini. :) terima kasih!
Anda dapat mengirim email dari localhost dengan paket sendmail, paket sendmail inbuild di XAMPP. Jadi jika Anda menggunakan XAMPP maka Anda dapat dengan mudah mengirim email dari localhost.
misalnya Anda dapat mengkonfigurasi C:\xampp\php\php.inidan c:\xampp\sendmail\sendmail.iniuntuk gmail untuk mengirim email.
di C:\xampp\php\php.initemukan extension=php_openssl.dlldan hapus tanda titik koma dari awal baris itu untuk membuat SSL berfungsi untuk gmail untuk localhost.
Sekarang kamu sudah selesai !! buat file php dengan fungsi email dan kirim email dari localhost.
PS: jangan lupa ganti my-gmail-id dan my-gmail-password di kode di atas. Juga, jangan lupa untuk menghapus kunci duplikat jika Anda menyalin pengaturan dari atas. Misalnya komentar mengikuti baris ini jika ada sendmail_path lain : sendmail_path="C:\xampp\mailtodisk\mailtodisk.exe"di file php.ini
Ingat juga untuk me-restart server menggunakan panel kontrol XAMMP sehingga perubahannya berlaku.
selain konfigurasi di atas, saya perlu memperbarui sendmail glob.com.au/sendmail
kaz
1
Saya harus memutakhirkan dari XAMMP 1.7.7 ke 2.8.2.3 - sendmail termasuk dalam XAMPP yang lebih baru. Saya mencoba menggunakan sendmail yang lebih baru dengan 1.7.7 beberapa bulan yang lalu dan tidak bisa berfungsi - akhirnya menggigit peluru dan menggunakan XAMPP baru dan berfungsi seperti yang dijelaskan.
VanAlbert
2
Saya percaya lokasi C: \ xampp \ php \ php.ini merujuk ke lingkungan windows. Untuk mac lihat di xamppfiles / etc untuk file php.ini Anda.
Paul Trotter
3
@Vikas menjawab adalah yang terbaik, tetapi harap dicatat bahwa menggunakan ssl default di smtp_port mungkin tidak berfungsi dalam kondisi tertentu, menggunakan 465 karena Thirumalai murugan jawaban telah benar-benar memperbaikinya untuk saya
Temitayo
2
Ini berfungsi sempurna dengan XAMPP versi 7.0.15 Jangan lupa untuk menghapus tanda titik koma darinya dan juga login ke id Gmail yang sama yang telah Anda konfigurasi kemudian buka tautan di bawah myaccount.google.com/lesssecureapps?pli=1 dan Izinkan aplikasi yang kurang aman: HIDUP Sekarang Anda dapat mengirim Mail langsung dari XAMPP localhost
raftaar1191
35
Dalam XAMPP v3.2.1 untuk tujuan pengujian Anda dapat melihat email yang XAMPP kirim dalam XAMPP / mailoutput. Dalam kasus saya di Windows 8 ini tidak memerlukan konfigurasi tambahan dan merupakan solusi sederhana untuk menguji email
Dan jika ini tidak berhasil, periksa c:\xampp\php\php.ini, cari [mail function], dan batalkan komentar pada baris yang menyebutkan mailtodisk.exe. Biarkan setiap baris lainnya di bagian ini dikomentari kecuali untuk yang mail.add_x_headersatu.
Tim Malone
3
Sebagai tambahan komentar saya di atas, untuk versi XAMPP yang lebih baru, Anda mungkin perlu menambahkan baris mailtodisk secara manual. Seharusnya terlihat seperti ini:sendmail_path="C:\xampp\mailtodisk\mailtodisk.exe"
Tim Malone
Tambahan tambahan untuk komentar dari @TimMalone. Saya menemukan bahwa surat hanya akan ditulis ke XAMPP / mailoutput jika menjalankan XAMPP sebagai admin
sohail
@sohail: Anda tidak harus menjalankan XAMPP sebagai admin tetapi Anda harus memberikan izin kepada semua pengguna untuk menulis ke folder XAMPP / mailoutput (klik kanan pada folder> keamanan> semua pengguna> edit izin> akses penuh)
cheppsn
@TimMalone Saya telah menerapkan kedua saran tetapi tidak ada dalam direktori mailoutput bahkan setelah mencoba begitu banyak
Vipul Hadiya
25
Sangat mudah untuk mengirim email di localhost atau server lokal
Catatan: Saya menggunakan perangkat lunak server surat uji pada Windows 7 64bit dengan Xampp diinstal
Cukup unduh alat uji server surat dan instal sesuai dengan instruksi yang diberikan di situs web Alat Uji Server Surat
Sekarang Anda hanya perlu mengubah dua baris di bawah php.inifile
Temukan [mail function]dan hapus titik koma yang sebelumnya;smtp = localhost
Masukkan tanda titik koma sebelumnya sendmail_path = "C:\xampp\mailtodisk\mailtodisk.exe"
Anda tidak perlu mengubah apa pun, tetapi jika Anda masih belum mendapatkan email selain memeriksa untuk itu SMTP port, nomor port harus sama.
Metode di atas adalah untuk pengaturan default yang disediakan oleh perangkat lunak Xampp.
Ini adalah solusi yang sangat hebat, cepat mudah dan saya bisa langsung bekerja. Menjejali server mail secara lokal adalah hal yang merepotkan ketika hanya untuk dev.
AdheneManx
1
Terima kasih saya menggunakan ini untuk menguji proyek saya juga.
Piseth Sok
19
Anda harus mengkonfigurasi SMTP di server Anda. Anda dapat menggunakan SMTP G Suite oleh Google secara gratis:
<?php
$mail =newPHPMailer(true);// Send mail using Gmailif($send_using_gmail){
$mail->IsSMTP();// telling the class to use SMTP
$mail->SMTPAuth=true;// enable SMTP authentication
$mail->SMTPSecure="ssl";// sets the prefix to the servier
$mail->Host="smtp.gmail.com";// sets GMAIL as the SMTP server
$mail->Port=465;// set the SMTP port for the GMAIL server
$mail->Username="[email protected]";// GMAIL username
$mail->Password="your-gmail-password";// GMAIL password}// Typical mail data
$mail->AddAddress($email, $name);
$mail->SetFrom($email_from, $name_from);
$mail->Subject="My Subject";
$mail->Body="Mail contents";try{
$mail->Send();
echo "Success!";}catch(Exception $e){// Something went bad
echo "Fail :(";}?>
@Vikas menjawab adalah yang terbaik, tetapi harap dicatat bahwa menggunakan ssl default pada smtp_port mungkin tidak berfungsi dalam kondisi tertentu, menggunakan 465 karena jawaban ini telah menyatakan benar-benar memperbaikinya untuk saya
Temitayo
Saya menggunakan @Vikas menjawab tetapi saya menggunakan sebuah fragmen dari Anda yaitu menggunakan 465 sebagai emtp_port. Kerja bagus sih
Temitayo
Kesalahan fatal: Kelas 'PHPMailer' tidak ditemukan di C: \ xampp \ htdocs \ myweb \ email_script.php on line 82
Shafizadeh
8
Seperti dalam pengalaman pribadi saya, saya menemukan bahwa hal yang sangat mirip dengan jawaban Vikas Dwivedi akan bekerja dengan baik.
Langkah 1 (file php.ini)
Dalam file php.ini terletak di xampp\php\php.ini. Ubah pengaturan sebagai berikut:
Anda dapat mencegah skype dari menggunakan port 80. pengaturan koneksi pada skype
astroanu
0
hanya menghabiskan lebih dari satu jam mencoba membuat ini berhasil. untuk semua orang yang memiliki masalah yang sama dengan semua saran yang diposting tidak berfungsi: Anda harus memulai ulang Apache di XAMPP Anda di muka! restart XAMPP tidak akan berfungsi !!
Saya mencoba banyak cara untuk mengirim email dari XAMPP Localhost, tetapi karena XAMPP belum memiliki Sertifikat SSL, permintaan email saya diblokir oleh Gmail atau penyedia Layanan SMTP serupa.
Lalu saya menggunakan MailHog untuk server smtp lokal, yang perlu Anda lakukan hanyalah menjalankannya. localhost: 1025 untuk server smtp, localhost: 8025 untuk server mail, tempat Anda dapat memeriksa email yang Anda kirim.
ini kode saya:
require_once "src/PHPMailer.php";
require_once "src/SMTP.php";
require_once "src/Exception.php";
$mail =newPHPMailer\PHPMailer\PHPMailer();//Server settings
$mail->SMTPDebug=3;// Enable verbose debug output
$mail->isSMTP();// Send using SMTP
$mail->Host='localhost';// Set the SMTP server to send through
$mail->Port=1025;// TCP port to connect to// $mail->Username = ''; // SMTP username// $mail->Password = ''; // SMTP password// $mail->SMTPAuth = true; // Enable SMTP authentication// $mail->SMTPSecure = 'tls'; // Enable TLS encryption; `PHPMailer::ENCRYPTION_SMTPS` also accepted//Recipients
$mail->setFrom('[email protected]','Mailer');
$mail->addAddress('[email protected]','Joe User');// Add a recipient// Content
$mail->isHTML(true);// Set email format to HTML
$mail->Subject='Here is the subject';
$mail->Body='This is the HTML message body <b>in bold!</b>';
$mail->AltBody='This is the body in plain text for non-HTML mail clients';if(!$mail->Send()){
echo "Mailer Error: ". $mail->ErrorInfo;}else{
echo "Message sent!";}
Jawaban:
Anda dapat mengirim email dari localhost dengan paket sendmail, paket sendmail inbuild di XAMPP. Jadi jika Anda menggunakan XAMPP maka Anda dapat dengan mudah mengirim email dari localhost.
misalnya Anda dapat mengkonfigurasi
C:\xampp\php\php.ini
danc:\xampp\sendmail\sendmail.ini
untuk gmail untuk mengirim email.di
C:\xampp\php\php.ini
temukanextension=php_openssl.dll
dan hapus tanda titik koma dari awal baris itu untuk membuat SSL berfungsi untuk gmail untuk localhost.dalam file php.ini cari
[mail function]
dan ubahSekarang Buka
C:\xampp\sendmail\sendmail.ini
. Ganti semua kode yang ada di sendmail.ini dengan kode berikutSekarang kamu sudah selesai !! buat file php dengan fungsi email dan kirim email dari localhost.
PS: jangan lupa ganti my-gmail-id dan my-gmail-password di kode di atas. Juga, jangan lupa untuk menghapus kunci duplikat jika Anda menyalin pengaturan dari atas. Misalnya komentar mengikuti baris ini jika ada sendmail_path lain :
sendmail_path="C:\xampp\mailtodisk\mailtodisk.exe"
di file php.iniIngat juga untuk me-restart server menggunakan panel kontrol XAMMP sehingga perubahannya berlaku.
Untuk gmail, silakan periksa https://support.google.com/accounts/answer/6010255 untuk memungkinkan akses dari aplikasi yang kurang aman.
sumber
Dalam XAMPP v3.2.1 untuk tujuan pengujian Anda dapat melihat email yang XAMPP kirim dalam XAMPP / mailoutput. Dalam kasus saya di Windows 8 ini tidak memerlukan konfigurasi tambahan dan merupakan solusi sederhana untuk menguji email
sumber
c:\xampp\php\php.ini
, cari[mail function]
, dan batalkan komentar pada baris yang menyebutkanmailtodisk.exe
. Biarkan setiap baris lainnya di bagian ini dikomentari kecuali untuk yangmail.add_x_header
satu.sendmail_path="C:\xampp\mailtodisk\mailtodisk.exe"
Sangat mudah untuk mengirim email di localhost atau server lokal
Catatan: Saya menggunakan perangkat lunak server surat uji pada Windows 7 64bit dengan Xampp diinstal
Cukup unduh alat uji server surat dan instal sesuai dengan instruksi yang diberikan di situs web Alat Uji Server Surat
Sekarang Anda hanya perlu mengubah dua baris di bawah
php.ini
file[mail function]
dan hapus titik koma yang sebelumnya;smtp = localhost
sendmail_path = "C:\xampp\mailtodisk\mailtodisk.exe"
Anda tidak perlu mengubah apa pun, tetapi jika Anda masih belum mendapatkan email selain memeriksa untuk itu
SMTP port
, nomor port harus sama.Metode di atas adalah untuk pengaturan default yang disediakan oleh perangkat lunak Xampp.
sumber
Anda dapat menguji kirim email di PC Anda tanpa Internet
Anda harus menggunakan Papercut aplikasi sederhana ini untuk menguji mengirim email. dan Anda tidak perlu mengkonfigurasi apa pun.
Jalankan saja dan coba tes kirim email:
test_sendmail.php
dan Anda akan melihat ini:
Saya harap Anda akan memiliki hari yang baik. Anda dapat menemukan saya di Youtube untuk tutorial lebih lanjut Piseth Sok
Bersorak!
sumber
Anda harus mengkonfigurasi SMTP di server Anda. Anda dapat menggunakan SMTP G Suite oleh Google secara gratis:
Baca lebih lanjut di
PHPMailer
sini .sumber
Seperti dalam pengalaman pribadi saya, saya menemukan bahwa hal yang sangat mirip dengan jawaban Vikas Dwivedi akan bekerja dengan baik.
Langkah 1 (file php.ini)
Dalam file php.ini terletak di
xampp\php\php.ini
. Ubah pengaturan sebagai berikut:Matikan variabel lain di bawah
mail funciton
dengan meletakkan;
sebelum mereka. misalnya;smtp_port=25
Langkah 2 (file sendmail.ini)
Di sendmail.ini yang terletak di xampp \ sendmail \ semdmail.ini ubah sebagai berikut:
Langkah 3 (kode)
Buat file php dan gunakan yang berikut ini:
Memperhatikan
sumber
Kode ini digunakan untuk surat dari XAMPP host lokal Anda dan akun Gmail Anda. Kode ini sangat mudah dan berfungsi untuk saya coba sendiri.
Di bawah ini Ubah File php.ini
Di bawah ini Ubah File sendmail.ini
Silakan tulis kode belove di file PHP Anda untuk mengirim email
sumber
Anda harus menentukan
SMTP
server dan port untuk ini. Semua kecuali suka mengirim email dari host langsung.Ini adalah tautan yang bermanfaat mengenai hal ini .
sumber
hanya menghabiskan lebih dari satu jam mencoba membuat ini berhasil. untuk semua orang yang memiliki masalah yang sama dengan semua saran yang diposting tidak berfungsi: Anda harus memulai ulang Apache di XAMPP Anda di muka! restart XAMPP tidak akan berfungsi !!
sumber
Saya mencoba banyak cara untuk mengirim email dari XAMPP Localhost, tetapi karena XAMPP belum memiliki Sertifikat SSL, permintaan email saya diblokir oleh Gmail atau penyedia Layanan SMTP serupa.
Lalu saya menggunakan MailHog untuk server smtp lokal, yang perlu Anda lakukan hanyalah menjalankannya. localhost: 1025 untuk server smtp, localhost: 8025 untuk server mail, tempat Anda dapat memeriksa email yang Anda kirim.
ini kode saya:
Tautan Repositori MailHog Github
sumber
selain semua jawaban, harap dicatat bahwa dalam
sendmail.ini
file:karena masalah keamanan Google yang baru, Anda harus mengikuti langkah-langkah ini untuk membuat kata sandi aplikasi untuk tujuan ini:
sumber