Cara menggunakan sendmail_path in php ini

Halo semua,

Function mail[] di php. Kalau saya liat di manualnya, sepertinya, mail[]
di Linux memakai sendmail_path yang di define di php.ini. Ada variable
SMTP dan smtp_port, tetapi itu used under Windows only.
Saya ingin agar mail[] memakai SMTP. Saya coba aja dengan
SMTP = 127.0.0.1
smtp_port = 25
sendmail_path =
di php.ini, tetapi tidak terkirim
[tcpdump -i lo port 25 ngga keluar apa apa]
Apa ada cara lain ?

Apachenya ada di chroot[] jail, maka saya tidak bisa pakai sendmail_path.
Solusi saya sekarang bikin php function yang langsung communicate dengan
smtp servernya pakai sockets.
Cuman kalau dengan otak atik configuration file udah bisa, saya lebih senang.

Dion




-- 
Berhenti langganan: [EMAIL PROTECTED]
Arsip dan info: //linux.or.id/milis.php

I migrated an application to a platform without a local transport agent [MTA]. I did not want to configure an MTA, so I wrote this xxmail function to replace mail[] with calls to a remote SMTP server. Hopefully it is of some use.

function xxmail[$to, $subject, $body, $headers]
{
$smtp = stream_socket_client['tcp://smtp.yourmail.com:25', $eno, $estr, 30];

$B = 8192;
$c = "\r\n";
$s = 'myapp@someserver.com';

fwrite[$smtp, 'helo ' . $_ENV['HOSTNAME'] . $c];
  $junk = fgets[$smtp, $B];

// Envelope
fwrite[$smtp, 'mail from: ' . $s . $c];
  $junk = fgets[$smtp, $B];
fwrite[$smtp, 'rcpt to: ' . $to . $c];
  $junk = fgets[$smtp, $B];
fwrite[$smtp, 'data' . $c];
  $junk = fgets[$smtp, $B];

// Header
fwrite[$smtp, 'To: ' . $to . $c];
if[strlen[$subject]] fwrite[$smtp, 'Subject: ' . $subject . $c];
if[strlen[$headers]] fwrite[$smtp, $headers]; // Must be \r\n [delimited]
fwrite[$smtp, $headers . $c];

// Body
if[strlen[$body]] fwrite[$smtp, $body . $c];
fwrite[$smtp, $c . '.' . $c];
  $junk = fgets[$smtp, $B];

// Close
fwrite[$smtp, 'quit' . $c];
  $junk = fgets[$smtp, $B];
fclose[$smtp];
}

Cara Mengirim Email Menggunakan SMTP Gmail di Laravel 5.7 - Tutorial Laravel Bahasa Indonesia [Januari 2023]

Cara Mengirim Email Menggunakan SMTP Gmail di Laravel 5.7 - Tutorial Laravel Bahasa Indonesia [Januari 2023]

:

Kirim email dari skrip PHP Anda tanpa menginstal server surat lokal. Ikuti panduan ini untuk informasi lebih lanjut.

Cara Mengirim Email Dari Skrip PHP

Satu fungsi adalah semua yang Anda butuhkan untuk mengirim email dari skrip PHP. Pelajari cara memprogram laman web untuk mengirim email PHP.

Cara Mengirim Email Dengan Ekstra Header di PHP

Pelajari cara menambahkan Dari :, Cc :, X-Mailer :, dan jalur tajuk lainnya ke pesan email yang dikirim dari skrip PHP.

Sangat mudah mengirim surat dari skrip PHP . Agar berfungsi, Anda masih memerlukan konfigurasi yang tepat di php. ini, bagaimanapun. Jika Anda menjalankan PHP di Unix atau Windows dengan server email lokal, Anda mungkin ingin memanfaatkan server tersebut.

Pengaturan yang relevan ada di bagian [fungsi surat] php.ini, dan disebut sendmail_path. Ini harus diberi jalur ke sendmail, biasanya / usr / sbin / sendmail atau / usr / bin / sendmail [tetapi periksa sistem Anda untuk melakukannya dengan benar].

Konfigurasikan PHP untuk Menggunakan Server Email Lokal untuk Mengirim Surat

Dengan demikian konfigurasi Anda mungkin terlihat seperti:

[fungsi surat]
sendmail_path = / usr / sbin / sendmail

Jika Anda menggunakan server email yang berbeda, gunakan wrapper sendmail [ var / qmail / bin / sendmail untuk qmail, misalnya].

Barangkali Anda pernah heran, mengapa script PHP untuk mengirim email yang Anda buat tidak bisa berjalan di localhost? Sedangkan apabila script tersebut diupload di web hosting, maka script tersebut bisa berjalan dengan baik alias bisa berfungsi untuk mengirim email. Nah.. dalam artikel kali ini, akan saya paparkan cara mengirim email dengan script PHP yang dijalankan melalui localhost menggunakan XAMPP.

Di dalam PHP, terdapat sebuah function yang digunakan untuk mengirim email yaitu mail[]; Supaya function tersebut bisa berjalan dengan baik, Anda membutuhkan sebuah module lain di luar PHP yang bertugas untuk mengirim pesan melalui email. Dengan kata lain, penggunaan perintah mail[] ini tidak bisa berdiri sendiri hanya di PHP melainkan butuh module lain untuk melakukan tugas pengiriman email. Module yang bisa digunakan adalah untuk pengiriman email ini adalah ‘Sendmail’. Module ‘Sendmail’ ini sudah ada di software-software paket web development seperti XAMPP atau WAMP. Anda bisa cek module ini melalui direktori C:\XAMPP\SENDMAIL. Untuk di WAMP, silakan dicari sendiri ya… 🙂

Nah.. selanjutnya akan saya paparkan bagaimana cara memanfaatkan module ‘Sendmail’ tersebut untuk proses pengiriman email melalui script PHP yang dijalankan melalui localhost.

Langkah pertama, kita harus memodifikasi file php.ini terlebih dahulu untuk mengaktifkan module ‘Sendmail’. Silakan buka file php.ini yang terletak di C:\XAMPP\PHP, kemudian cari baris berikut ini

[mail function]
; For Win32 only.
; //php.net/smtp
; SMTP = localhost
; //php.net/smtp-port
; smtp_port = 25

; For Win32 only.
; //php.net/sendmail-from
; sendmail_from = postmaster@localhost

; For Unix only. You may supply arguments as well [default: "sendmail -t -i"].
; //php.net/sendmail-path
sendmail_path = "\"C:\xampp\sendmail\sendmail.exe\" -t"

Pastikan untuk baris

sendmail_path = "\"C:\xampp\sendmail\sendmail.exe\" -t"

tidak ada tanda semicolon [;] di depannya, sedangkan untuk baris yang lain, tambahkan semicolon di depannya seperti tampilan di atas. Setelah file php.ini selesai diedit, simpan kembali dan kemudian lakukan restart Apache.

Selanjutnya, kita memodifikasi file konfigurasi dari module ‘Sendmail’ ini yaitu ‘sendmail.ini’. File ini terletak di dalam direktori C:\XAMPP\SENDMAIL.

Trus… apa yang harus diisikan di dalam file sendmail.ini tersebut?? yang diisikan adalah server SMTP yang akan digunakan untuk pengiriman email. Jika Anda mempunyai account GMAIL, maka silakan isikan beberapa baris perintah berikut ini

defaults
logfile "C:\xampp\sendmail\sendmail.log"

# SMTP Gmail
account Gmail
tls on
port 465
tls_starttls off
tls_certcheck off
host smtp.gmail.com
from xxx@gmail.com
auth on
user xxx@gmail.com
password xxx

account default : Gmail

Keterangan: pada parameter ‘from’ isikan alamat Gmail Anda, begitu pula untuk parameter ‘user’. Sedangkan pada parameter ‘password’ isikan password Gmail Anda.

Nah… proses setting module ‘Sendmail’ sudah dilakukan, selanjutnya Anda tinggal bikin script untuk kirim emailnya. Sebagai contoh misalkan diberikan script kirim email sederhana berikut ini

Oya… sebelum Anda menjalankan script kirim email, pastikan PC Anda sudah terkoneksi ke internet supaya bisa terhubung dengan SMTP nya Gmail.

Lantas, bagaimana bila Anda tidak punya account di Gmail melainkan punya di Yahoo Mail? Untuk Yahoo Mail, Anda bisa menggunakan SMTP dari Yahoo Mail dengan konfigurasi sbb:

defaults
logfile "C:\xampp\sendmail\sendmail.log"

# SMTP Yahoo
account Yahoo
tls on
port 465
tls_certcheck off
tls_starttls off
host smtp.mail.yahoo.com
from xxx@yahoo.com
auth on
user xxx@yahoo.com
password xxx

# Set a default account
account default : Yahoo

atau jika Anda memiliki SMTP server sendiri di web hosting, maka Anda bisa menggunakannya. Untuk detilnya silakan hubungi admin hosting Anda guna mendapatkan alamat SMTP servernya, nomor port dsb.

Bài mới nhất

Chủ Đề