Cara Membuat Program PHP untuk Mengirim Email dengan Attachment
Pada era digital seperti sekarang ini, email menjadi salah satu sarana komunikasi yang paling umum digunakan. Dengan email, kita bisa mengirim pesan dan berbagi file dengan mudah dan cepat. Namun, terkadang kita perlu mengirim email dengan attachment, yaitu file yang ingin kita sertakan dalam email tersebut. Untuk melakukan hal ini, kita bisa menggunakan bahasa pemrograman PHP. Pada artikel ini, kita akan membahas cara membuat program PHP untuk mengirim email dengan attachment.
Sebelum kita mulai, pastikan bahwa Anda telah menginstal PHP dan memiliki akses ke server yang mendukung pengiriman email. Jika belum, Anda dapat menginstalnya terlebih dahulu sebelum melanjutkan.
Langkah pertama adalah membuat form HTML untuk mengunggah file yang ingin kita lampirkan dalam email. Berikut adalah contoh kode HTML untuk form tersebut:
<!DOCTYPE html>
<html>
<head>
<title>Form Kirim Email dengan Attachment</title>
</head>
<body>
<h2>Form Kirim Email dengan Attachment</h2>
<form action="send_email.php" method="post" enctype="multipart/form-data">
<label for="email">Email Tujuan:</label>
<input type="email" name="email" required><br><br>
<label for="subject">Subjek:</label>
<input type="text" name="subject" required><br><br>
<label for="message">Pesan:</label><br>
<textarea name="message" rows="5" cols="30" required></textarea><br><br>
<label for="file">Lampiran:</label>
<input type="file" name="file"><br><br>
<input type="submit" value="Kirim Email">
</form>
</body>
</html>
Kode di atas akan menampilkan form dengan field untuk mengisi email tujuan, subjek, pesan, dan memilih file untuk diunggah sebagai attachment. Ketika tombol "Kirim Email" ditekan, form akan mengirim data ke file send_email.php
yang akan kita buat berikutnya.
Selanjutnya, buatlah file send_email.php
untuk mengirim email dengan attachment. Berikut adalah contoh kode PHP untuk melakukan hal ini:
<?php
if(isset($_POST['email']) && isset($_POST['subject']) && isset($_POST['message'])) {
$email = $_POST['email'];
$subject = $_POST['subject'];
$message = $_POST['message'];
// Lokasi file sementara setelah diunggah
$file_tmp = $_FILES['file']['tmp_name'];
// Nama file asli
$file_name = $_FILES['file']['name'];
// Ekstensi file
$file_ext = pathinfo($file_name, PATHINFO_EXTENSION);
// Direktori tujuan penyimpanan file
$file_dest = 'attachments/' . $file_name;
// Pindahkan file ke direktori tujuan
move_uploaded_file($file_tmp, $file_dest);
// Konten email
$content = chunk_split(base64_encode(file_get_contents($file_dest)));
// Header email
$header = "From: your_email@example.com" . "\r\n" .
"MIME-Version: 1.0" . "\r\n" .
"Content-Type: multipart/mixed; boundary=\"boundary\"\r\n" .
"X-Priority: 3\r\n" .
"X-Mailer: PHP" ;
// Pesan email
$message = "--boundary\r\n" .
"Content-Type: text/plain; charset=\"iso-8859-1\"\r\n" .
"Content-Transfer-Encoding: 7bit\r\n\r\n" .
$message . "\r\n\r\n" .
"--boundary\r\n" .
"Content-Type: application/octet-stream; name=\"" . $file_name . "\"\r\n" .
"Content-Transfer-Encoding: base64\r\n" .
"Content-Disposition: attachment\r\n\r\n" .
$content . "\r\n\r\n" .
"--boundary--";
// Kirim email
if(mail($email, $subject, $message, $header)) {
echo "Email berhasil dikirim.";
} else {
echo "Email gagal dikirim.";
}
}
?>
Kode di atas akan mengambil data yang dikirimkan melalui form, termasuk email tujuan, subjek, pesan, dan file attachment. File attachment akan diunggah ke direktori attachments
dan dikirimkan bersama dengan email menggunakan fungsi mail()
.
Pastikan untuk mengganti your_email@example.com
dengan alamat email Anda sendiri pada bagian header email.
Setelah selesai, simpan kedua file tersebut dalam direktori yang sama pada server Anda. Pastikan direktori attachments
memiliki izin tulis agar file attachment dapat diunggah dengan benar.
Sekarang, Anda dapat membuka halaman form yang telah dibuat sebelumnya di browser. Isi semua field yang diperlukan, pilih file untuk diunggah, dan tekan tombol "Kirim Email". Jika semuanya berjalan dengan baik, Anda akan melihat pesan "Email berhasil dikirim".
Demikianlah cara membuat program PHP untuk mengirim email dengan attachment. Dengan menggunakan kode tersebut, Anda dapat dengan mudah mengirim email dengan attachment melalui form yang telah Anda buat. Selamat mencoba!
Posting Komentar untuk "Cara Membuat Program PHP untuk Mengirim Email dengan Attachment"
Silakan Berikan Komentar Anda
- Komentar dengan sopan
- Dilarang spam Komentar
- Dilarang memberikan link aktif pada kolom komentar
- Dilarang menggunakan Kosa Kata yang Kasar atau Negatif
Salam Hangat
AriefDM