Atur smtp di php ini

Mengkonfigurasi pengaturan SMTP di localhost Anda Dengan asumsi Anda menggunakan xampp di windows, cari file “php. ini" di direktori "C. \xampp\php”

  • Buka menggunakan notepad atau editor teks apa pun. Kami akan menggunakan notepad dalam contoh ini. Klik pada menu edit

Atur smtp di php ini

  • Klik menu Temukan…

Atur smtp di php ini

  • Menu dialog pencarian akan muncul

Atur smtp di php ini

  • Klik tombol Temukan Selanjutnya

Atur smtp di php ini

  • Cari entri
    • [fungsi surat]
    • ; . Jangan hapus semi kolom jika Anda ingin bekerja dengan Server SMTP seperti Merkurius
    • ;
    • ;
    • Hapus titik koma sebelum SMTP dan smtp_port dan atur SMTP ke server smtp Anda dan port ke port smtp Anda. Pengaturan Anda akan terlihat sebagai berikut
      • SMTP = smtp. contoh. com
      • smtp_port = 25
      • Perhatikan pengaturan SMTP dapat diperoleh dari penyedia hosting web Anda
      • Jika server memerlukan autentikasi, tambahkan baris berikut
        • auth_username = contoh_namapengguna@contoh. com
        • auth_password = contoh_kata sandi
        • Simpan perubahan baru
        • Mulai ulang server Apache

Contoh Surat PHP

Sekarang mari kita lihat contoh yang mengirim surat sederhana

<?php     
$to_email = 'name @ company . com';
$subject = 'Testing PHP Mail';
$message = 'This mail is sent using the PHP mail function';
$headers = 'From: noreply @ company . com';
mail($to_email,$subject,$message,$headers);
?>

Keluaran

Atur smtp di php ini

Catatan. contoh di atas hanya mengambil 4 parameter wajib

Anda harus mengganti alamat email fiktif di atas dengan alamat email asli

Sanitasi input pengguna email

Contoh di atas menggunakan nilai kode keras dalam kode sumber untuk alamat email dan detail lainnya untuk kesederhanaan

Anggaplah Anda harus membuat formulir hubungi kami agar pengguna mengisi detailnya lalu mengirimkannya

  • Pengguna dapat secara tidak sengaja atau sengaja menyuntikkan kode di header yang dapat mengakibatkan pengiriman email spam
  • Untuk melindungi sistem Anda dari serangan semacam itu, Anda dapat membuat fungsi kustom yang membersihkan dan memvalidasi nilai sebelum email dikirim

Mari buat fungsi khusus yang memvalidasi dan membersihkan alamat email menggunakan fungsi bawaan filter_var

Fungsi Filter_var Fungsi filter_var digunakan untuk membersihkan dan memvalidasi data input pengguna

Ini memiliki sintaks dasar berikut

<?php
filter_var($field, SANITIZATION TYPE);
?>
_

DI SINI,

  • “filter_var(…)” adalah fungsi validasi dan sanitasi
  • “$field” adalah nilai bidang yang akan difilter
  • “JENIS SANITIZATION” adalah jenis sanitasi yang akan dilakukan di lapangan seperti;
    • FILTER_VALIDATE_EMAIL – mengembalikan true untuk alamat email yang valid dan false untuk alamat email yang tidak valid
    • FILTER_SANITIZE_EMAIL – menghapus karakter ilegal dari alamat email. info\@domain. (com) mengembalikan info@domain. com
    • FILTER_SANITIZE_URL – menghapus karakter ilegal dari URL. http. // www. contoh@. ayo kembali >http. // www. contoh@. com
    • FILTER_SANITIZE_STRING – it removes tags from string values. am bold becomes am bold.

Kode di bawah mengimplementasikan menggunakan fungsi khusus untuk mengirim email aman

<?php 
function sanitize_my_email($field) {
    $field = filter_var($field, FILTER_SANITIZE_EMAIL);
    if (filter_var($field, FILTER_VALIDATE_EMAIL)) {
        return true;
    } else {
        return false;
    }
}
$to_email = 'name @ company . com';
$subject = 'Testing PHP Mail';
$message = 'This mail is sent using the PHP mail ';
$headers = 'From: noreply @ company. com';
//check if the email address is invalid $secure_check
$secure_check = sanitize_my_email($to_email);
if ($secure_check == false) {
    echo "Invalid input";
} else { //send email 
    mail($to_email, $subject, $message, $headers);
    echo "This email is sent using PHP Mail";
}
?>

Keluaran

Atur smtp di php ini

Surat Aman

Email dapat dicegat selama transmisi oleh penerima yang tidak diinginkan

Ini dapat memaparkan konten email ke penerima yang tidak diinginkan

Surat aman memecahkan masalah ini dengan mengirimkan email melalui Hypertext Transfer Protocol Secure (HTTPS)

Menunjukkan cara mengirim email menggunakan PHP baik secara langsung menggunakan server email yang diinstal pada sistem atau melalui SMTP menggunakan layanan email lainnya

26 Desember 2019

Email adalah salah satu faktor terpenting dalam memiliki komunikasi bisnis yang efektif. Seseorang juga dapat menggunakan email untuk menghosting kampanye pemasaran untuk menjangkau audiens yang sesuai. Selain kegunaan tersebut, ada beberapa manfaat lain menggunakan email sebagai saluran komunikasi termasuk mencatat semua pesan

Dalam tutorial ini, kita akan membahas parameter yang terlibat dalam pengiriman email dan kemungkinan cara mengirim email menggunakan PHP

Dasar Email

Bagian ini menjelaskan dasar-dasar pengiriman email dengan menjelaskan parameter yang terlibat dalam email. Kami dapat menyertakan parameter yang tercantum di bawah saat mengirim email

Dari - Kolom wajib untuk menentukan alamat email pengirim. Itu harus alamat email yang valid untuk mengirim email

Balas ke - Ini adalah parameter opsional untuk menerima balasan email. Jika tidak ditentukan, alamat email Dari akan digunakan untuk mengirim balasan

Ke - Ini adalah parameter paling penting dan wajib untuk mengirim email. Kami dapat menyertakan alamat email penerima tunggal atau ganda untuk mengirim email baik ke penerima tunggal atau ganda

// To - Format - RFC 2822 - Single Receipient

Receipient Name <Receipient Email>
// OR
Receipient Email

// To - Format - RFC 2822 - Multiple Receipient

Receipient 1 Name <Receipient 1 Email>, Receipient 2 Name <Receipient 2 Email>
, Receipient 3 Name <Receipient 3 Email>
// OR
Receipient 1 Email, Receipient 2 Email
// OR
Receipient 1 Name <Receipient 1 Email>, Receipient 2 Email

Cc - Carbon Copy - Mirip dengan To, kami dapat menentukan satu atau beberapa penerima untuk menerima salinan email agar mereka tetap diberi tahu tentang komunikasi

Bcc - Salinan Karbon Kosong - Kami juga dapat melibatkan penerima yang akan menerima salinan email tanpa menyebutkannya kepada penerima yang terlibat dalam daftar To dan CC. Penerima yang terlibat dalam daftar Ke dan CC tidak akan pernah tahu bahwa email yang sama juga dikirim ke penerima yang disebutkan dalam parameter BCC

Subjek - Meskipun ini bukan bidang wajib, seseorang harus menyertakan subjek untuk memberi petunjuk kepada penerima tentang konten yang terlibat dalam email. Subjek yang singkat dan deskriptif dapat memberi tahu penerima tentang konteks komunikasi

Subjek dapat terdiri dari beberapa baris yang dipisahkan dengan CRLF (\r\n). Setiap baris tidak boleh lebih dari 70 karakter

Pesan - Pesan aktual yang akan dikirim ke penerima yang disebutkan dalam parameter To, CC, dan BCC. Meskipun kami dapat mengirim email tanpa pesan, itu bukan cara yang disukai untuk mengirim email

Kirim Email menggunakan fungsi mail()

Kita dapat menggunakan fungsi PHP mail() untuk mengirim email seperti yang ditunjukkan di bawah ini. Server Email yang sesuai diharapkan diinstal pada sistem yang mendengarkan pada port 25 untuk mengirim email atau PHP dikonfigurasi untuk menggunakan server SMTP

Selain itu, pastikan bidang telah divalidasi dan dibersihkan sebelum meneruskannya ke fungsi mail() untuk menghindari kesalahan

// Mail Function
$from = "<sender address>";
$to = "<recipient addresses>";
$subject = "<email subject>";
$message = "<email message>";
$headers = "<headers including From, Reply-To, CC, BCC>";
$parameters = null;

mail( $to, $subject, $message, $headers, $parameters );

// Example
$from = "[email protected]";
$replyTo = "[email protected]";
$to = "[email protected]";
$cc = "[email protected]";
$bcc = "[email protected]";
$subject = "Hello Guest";
$message = "Thanks for joining us.";
$headers = [ "From: $from", "Reply-To: $replyTo", "Cc: $cc", "Bcc: $bcc" ];

mail( $to, $subject, $message, implode( '\r\n', $headers ) );
// OR - PHP 7.2.0 or greater
mail( $to, $subject, $message, $headers );
_

Ini adalah cara termudah untuk mengirim email menggunakan PHP

Fungsi surat akan menimbulkan kesalahan, jika tidak menemukan server surat atau PHP tidak dikonfigurasi untuk menggunakan server SMTP

Jika server email atau konfigurasi SMTP tidak ada, kesalahan akan terlihat seperti yang ditunjukkan di bawah ini

PHP Warning:  mail(): Failed to connect to mailserver at "localhost" port 25, verify your "SMTP" and "smtp_port" setting in php.ini or use ini_set() in E:\PracticePHP\email.php on line 11
Warning: mail(): Failed to connect to mailserver at "localhost" port 25, verify your "SMTP" and "smtp_port" setting in php.ini or use ini_set() in E:\PracticePHP\email.php on line 11
PHP Stack trace:
PHP 1. {main}() E:\PracticePHP\email.php:0
PHP 2. mail() E:\PracticePHP\email.php:11

Call Stack:
0.0078 398696 1. {main}() E:\PracticePHP\email.php:0
0.0090 399464 2. mail() E:\PracticePHP\email.php:11

Done.

Konfigurasikan PHP untuk menggunakan Server SMTP

Jika server email tidak diinstal pada sistem atau diinstal pada sistem yang berbeda, Anda harus mengonfigurasi PHP untuk menggunakan server SMTP. php. File ini harus diperbarui untuk mengonfigurasi server SMTP. Anda dapat menambahkan/memodifikasi pengaturan yang tercantum di bawah ini untuk mengonfigurasi server SMTP

; must have
SMTP = <server host>
smtp_port = 25

; optional - required in case server requires authentication
auth_username = <username>
auth_password = <password>
_

SMTP Host - Perbarui pengaturan SMTP untuk menentukan host server. Itu harus server yang valid dengan server email yang diinstal di dalamnya

Port SMTP - Port default untuk mengirim email melalui SMTP adalah 25. Port 587(MSA) atau 465(SMTP) dapat digunakan untuk mengirim email dengan aman

Auth Username - Nama pengguna yang diperlukan untuk mengidentifikasi pengguna yang valid

Auth Password - Kata sandi yang diperlukan untuk mengautentikasi pengguna

Setelah menerapkan konfigurasi yang disebutkan di atas, mulai ulang server web. Jika detail yang diberikan sudah benar, kita dapat mengirim email menggunakan fungsi mail() dari PHP dengan konfigurasi server email yang sesuai. Dengan cara ini, kami dapat mengirim email tanpa menginstal server email kami

Jika Anda menggunakan port aman 587 atau 465, Anda mungkin mendapatkan kesalahan jika modul OpenSSL tidak diaktifkan untuk PHP. Itu dapat dilakukan di Windows dengan mengikuti Cara Mengkonfigurasi Modul PHP OpenSSL Di Windows

Anda juga perlu menginstal dan mengonfigurasi Sendmail di sistem Windows. Anda dapat mengikuti Cara Menggunakan Sendmail Di Windows Untuk Mengirim Email Menggunakan PHP untuk mengkonfigurasi Sendmail di Windows

Konfigurasi Layanan Standar

Anda juga dapat menggunakan layanan email standar termasuk Gmail, Yahoo, dan Outlook untuk mengirim email. Di bawah ini tercantum konfigurasi yang akan diterapkan ke php Anda. ini untuk mengirim email menggunakan Gmail, Yahoo, atau Outlook Anda seperti yang disebutkan di bawah ini

; Gmail configurations
SMTP = smtp.gmail.com
; You can also specify port 587
smtp_port = 465
auth_username = <Gmail username>
auth_password = <Gmail password>

; Yahoo configurations
SMTP = smtp.mail.yahoo.com
smtp_port = 465
auth_username = <Yahoo username>
auth_password = <Yahoo password>

; Outlook configurations
SMTP = smtp.live.com
smtp_port = 465
auth_username = <Outlook username>
auth_password = <Outlook password>

Anda harus berhati-hati saat mengirim email menggunakan akun gratis karena ada batasan dalam mengirim email menggunakan layanan ini. Layanan ini mungkin memblokir akun Anda jika Anda melebihi batas yang ditentukan, karenanya hindari penggunaan akun email pribadi

Gmail membatasi maksimal 100 penerima sekaligus dengan batas 500 pesan per hari. Begitu pula Yahoo juga menerapkan batasan 100 penerima dan 500 pesan per hari

Anda mungkin juga perlu mematikan verifikasi 2 langkah jika Anda menggunakannya

Juga, Anda dapat mengikuti Cara Menggunakan Sendmail Di Windows Untuk Mengirim Email Menggunakan PHP untuk mengkonfigurasi Sendmail di Windows

Kirim Email menggunakan PHPMailer dan SwiftMailer

Kami juga dapat mengirim email menggunakan pustaka standar yang tersedia di PHP. Yang paling populer di antara perpustakaan ini adalah PHPMailer dan SwiftMailer

Ringkasan

Dalam tutorial ini, kita telah membahas parameter yang harus diperhatikan saat mengirim email. Saya juga menyebutkan berbagai cara mengirim email dengan dan tanpa server SMTP. Anda dapat mengikuti tutorial Kirim Email Menggunakan PHPMailer dan Kirim Email Menggunakan Swift Mailer untuk mengirim email menggunakan pustaka ini

Anda juga dapat memposting komentar Anda untuk bergabung dalam diskusi. Tutorial lain yang relevan untuk PHP termasuk Kirim Email Menggunakan PHPMailer, Kirim Email Menggunakan Swift Mailer, Cara Menggunakan Sendmail Di Windows Untuk Mengirim Email Menggunakan PHP, Cara Mengkonfigurasi Modul PHP OpenSSL Di Windows, Cara Menginstal XAMPP Di Windows, Cara Menginstal WampServer . 04 LTS, dan Cara Install PHP 7 Di Windows

Bagaimana cara mengubah pengaturan SMTP di PHP ini?

Tampilkan aktivitas pada postingan ini. .
Instal hMailServer terbaru. .
Hubungkan ke "localhost"
"Tambah domain. "
Tetapkan "127. 0. .
"Pengaturan"> "Protokol"> "SMTP"> "Pengiriman email"
Tetapkan "localhost" sebagai "Local host name", berikan data Anda di bagian "SMTP Relayer", klik "Save"

Bagaimana cara mengkonfigurasi PHP untuk mengirim email?

Mengubah php. .
Buka php.ini Anda. file ini menggunakan di bawah ini. .
Cari [fungsi email] di file. .
Tambahkan detail server email Anda ke file atau jika Anda memilikinya, Anda dapat mengubahnya (server email dapat menjadi milik Anda sendiri, mis. .
Simpan/tutup file php.ini. file ini

Bagaimana cara menggunakan ini_set untuk email di PHP?

Untuk menyetel parameter ini secara eksplisit dalam skrip, Anda harus menggunakan opsi ini_set(). ini_set("sendmail_from", "anda @ domain_host_anda. com"); Alamat email yang Anda tentukan harus merupakan domain yang dihosting di sistem kami.

Bagaimana cara mengirim email menggunakan SMTP di PHP?

php'; . gmail. com'; . com"; $mail->FromName = "Nama Lengkap"; $mail->addAddress("recipient@email