· 4 years ago · Dec 19, 2020, 07:30 AM
1<?php
2use PHPMailer\PHPMailer\PHPMailer;
3use PHPMailer\PHPMailer\Exception;
4
5// Include librari phpmailer
6include('phpmailer/Exception.php');
7include('phpmailer/PHPMailer.php');
8include('phpmailer/SMTP.php');
9
10$email_pengirim = '*******@gmail.com'; // Isikan dengan email pengirim
11$nama_pengirim = 'Satria'; // Isikan dengan nama pengirim
12$email_penerima = $_POST['email_penerima']; // Ambil email penerima dari inputan form
13$subjek = $_POST['subjek']; // Ambil subjek dari inputan form
14$pesan = $_POST['pesan']; // Ambil pesan dari inputan form
15$attachment = $_FILES['attachment']['name']; // Ambil nama file yang di upload
16
17$mail = new PHPMailer;
18$mail->isSMTP();
19
20$mail->Host = 'smtp.gmail.com';
21$mail->Username = $email_pengirim; // Email Pengirim
22$mail->Password = '**********'; // Isikan dengan Password email pengirim
23$mail->Port = 587;
24$mail->SMTPAuth = true;
25$mail->SMTPSecure = 'tls';
26$mail->SMTPDebug = 2; // Aktifkan untuk melakukan debugging
27
28$mail->setFrom($email_pengirim, $nama_pengirim);
29$mail->addAddress($email_penerima, '');
30$mail->isHTML(true); // Aktifkan jika isi emailnya berupa html
31
32// Load file content.php
33ob_start();
34include "content.php";
35
36$content = ob_get_contents(); // Ambil isi file content.php dan masukan ke variabel $content
37ob_end_clean();
38
39$mail->Subject = $subjek;
40$mail->Body = $content;
41$mail->AddEmbeddedImage('image/logo.png', 'logo', 'logo.png'); // Aktifkan jika ingin menampilkan gambar dalam email
42
43if(empty($attachment)){ // Jika tanpa attachment
44 $send = $mail->send();
45
46 if($send){ // Jika Email berhasil dikirim
47 echo "<h1>Email berhasil dikirim</h1><br /><a href='index.php'>Kembali ke Form</a>";
48 }else{ // Jika Email gagal dikirim
49 echo "<h1>Email gagal dikirim</h1><br /><a href='index.php'>Kembali ke Form</a>";
50 // echo '<h1>ERROR<br /><small>Error while sending email: '.$mail->getError().'</small></h1>'; // Aktifkan untuk mengetahui error message
51 }
52}else{ // Jika dengan attachment
53 $tmp = $_FILES['attachment']['tmp_name'];
54 $size = $_FILES['attachment']['size'];
55
56 if($size <= 2000000){ // Jika ukuran file <= 25 MB (25.000.000 bytes)
57 $mail->addAttachment($tmp, $attachment); // Add file yang akan di kirim
58
59 $send = $mail->send();
60
61 if($send){ // Jika Email berhasil dikirim
62 echo "<h1>Email berhasil dikirim</h1><br /><a href='index.php'>Kembali ke Form</a>";
63 }else{ // Jika Email gagal dikirim
64 echo "<h1>Email gagal dikirim</h1><br /><a href='index.php'>Kembali ke Form</a>";
65 echo '<h1>ERROR<br /><small>Error while sending email: '.$mail->getError().'</small></h1>'; // Aktifkan untuk mengetahui error message
66 }
67 }else{ // Jika Ukuran file lebih dari 25 MB
68 echo "<h1>Ukuran file attachment maksimal 2 MB</h1><br /><a href='index.php'>Kembali ke Form</a>";
69 }
70}
71?>
72