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
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
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
dan c:\xampp\sendmail\sendmail.ini
untuk gmail untuk mengirim email.
di C:\xampp\php\php.ini
temukan extension=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 ubah
SMTP=smtp.gmail.com
smtp_port=587
sendmail_from = my-gmail-id@gmail.com
sendmail_path = "\"C:\xampp\sendmail\sendmail.exe\" -t"
Sekarang Buka C:\xampp\sendmail\sendmail.ini
. Ganti semua kode yang ada di sendmail.ini dengan kode berikut
[sendmail]
smtp_server=smtp.gmail.com
smtp_port=587
error_logfile=error.log
debug_logfile=debug.log
auth_username=my-gmail-id@gmail.com
auth_password=my-gmail-password
force_sender=my-gmail-id@gmail.com
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.
Untuk gmail, silakan periksa https://support.google.com/accounts/answer/6010255 untuk memungkinkan akses dari aplikasi yang kurang aman.
Untuk mengirim email di Linux (dengan paket sendmail) melalui Gmail dari localhost, periksa PHP + Ubuntu Kirim email menggunakan formulir gmail localhost .
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
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_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.
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
<?php
$to = "somebody@example.com";
$subject = "My subject";
$txt = "Hello world!";
$headers = "From: webmaster@example.com" . "\r\n" .
"CC: somebodyelse@example.com";
mail($to,$subject,$txt,$headers);
?>
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!
Anda harus mengkonfigurasi SMTP di server Anda. Anda dapat menggunakan SMTP G Suite oleh Google secara gratis:
<?php
$mail = new PHPMailer(true);
// Send mail using Gmail
if($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 = "your-gmail-account@gmail.com"; // 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 :(";
}
?>
Baca lebih lanjut di PHPMailer
sini .
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:
extension=php_openssl.dll
[mail function]
sendmail_path =":\xampp7\sendmail\sendmail.exe -t"
mail.add_x_header=On
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:
smtp_server=smtp.gmail.com
smtp_port=465
smtp_ssl=auto
auth_username=address@gmail.com
auth_password=YourPassword
Langkah 3 (kode)
Buat file php dan gunakan yang berikut ini:
<?php
mail($to, "subject", "body", "From: ".$from);
?>
Memperhatikan
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
SMTP=smtp.gmail.com
smtp_port=587
sendmail_from = your@gmail.com
sendmail_path = "\"C:\xampp\sendmail\sendmail.exe\" -t"
extension=php_openssl.dll
Di bawah ini Ubah File sendmail.ini
smtp_server=smtp.gmail.com
smtp_port=587
error_logfile=error.log
debug_logfile=debug.log
auth_username=yourmail@gmail.com
auth_password=your-gmail-password
force_sender=yourmail@gmail.com
Silakan tulis kode belove di file PHP Anda untuk mengirim email
<?php
$to = "tomail@gmail.com";
$subject = "Test Mail";
$headers = "From: from_mail@gmail.com\r\n";
$headers .= "Reply-To: replytomail@gmail.com\r\n";
$headers .= "CC: theassassin.edu@gmail.com\r\n";
$headers .= "MIME-Version: 1.0\r\n";
$headers .= "Content-Type: text/html; charset=ISO-8859-1\r\n";
$message = '<html><body>';
$message .= '<img src="//css-tricks.com/examples/WebsiteChangeRequestForm/images/wcrf-header.png" alt="Website Change Request" />';
$message .= '<table rules="all" style="border-color: #666;" cellpadding="10">';
$message .= "<tr style='background: #eee;'><td><strong>Name:</strong> </td><td>Details</td></tr>";
$message .= "<tr><td><strong>Email:</strong> </td><td>Details</td></tr>";
$message .= "<tr><td><strong>Type of Change:</strong> </td><td>Details</td></tr>";
$message .= "<tr><td><strong>Urgency:</strong> </td><td>Details</td></tr>";
$message .= "<tr><td><strong>URL To Change (main):</strong> </td><td>Details</td></tr>";
$addURLS = 'google.com';
if (($addURLS) != '') {
$message .= "<tr><td><strong>URL To Change (additional):</strong> </td><td>" . $addURLS . "</td></tr>";
}
$curText = 'dummy text';
if (($curText) != '') {
$message .= "<tr><td><strong>CURRENT Content:</strong> </td><td>" . $curText . "</td></tr>";
}
$message .= "<tr><td><strong>NEW Content:</strong> </td><td>New Text</td></tr>";
$message .= "</table>";
$message .= "</body></html>";
if(mail($to,$subject,$message,$headers))
{
echo "Mail Send Sucuceed";
}
else{
echo "Mail Send Failed";
}
?>
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 .
NB: Port harus tidak digunakan. Harap berhati-hati, Beberapa aplikasi suka
Skype
menggunakan port default dan mencegah pengiriman email.
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 = new PHPMailer\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('testtoo@testto.com', 'Mailer');
$mail->addAddress('testtoo@webbamail.com', '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!";
}
selain semua jawaban, harap dicatat bahwa dalam sendmail.ini
file:
auth_password = this-is- Bukan -your-Gmail-password
karena masalah keamanan Google yang baru, Anda harus mengikuti langkah-langkah ini untuk membuat kata sandi aplikasi untuk tujuan ini: