PHPMailer merupakan salah satu plugin yang digunakan untuk mengirim E-mail via PHP. PHPMailer juga cukup lengkap karena selain dapat mengerimkan email dalam bentuk text, kita juga bisa melakukan attachment langsung di PHP.
Setelah kemarin berhasil tes kirim email menggukan PHPMailer, sekarang kita mencoba mengirim email melalui form.
Untuk mengunduh library Phpmailer yang diperlukan, silahkan baca disini maribelajarcoding.com/mengirim-email-dengan-phpmailer.
Kirim email melalui form kirim menggunakan PHPMailer
1. Buatlah file php untuk membuat form input data.
index.php
<!DOCTYPE html>
<html>
<head>
<title></title>
</head>
<body>
<h2>Kirim Email</h2>
<form method="POST" action="kirim.php">
<table>
<tr>
<td>Nama :</td>
<td><input type="text" name="nama" size="30"></td>
</tr>
<tr>
<td>Email :</td>
<td><input type="email" name="email" size="30"></td>
</tr>
<tr>
<td>Subjek :</td>
<td><input type="text" name="subjek" size="30"></td>
</tr>
<tr>
<td>Pesan :</td>
<td><textarea name="pesan" cols="32" rows="5"></textarea></td>
</tr>
<tr>
<td></td>
<td><input type="submit" name="kirim" value="Kirim"></td>
</tr>
</table>
</form>
</body>
</html>
Perhatikan pada syntax di atas, form mengarah ke kirim.php. karena kita menjadikan file kirim.php sebagai aksi dari form kirim ini. jadi pada file kirim.php lah kita menangkap data yang di input dan kemudian mengirimkannya ke kirim email.
2. Buat lagi sebuah file dengan nama kirim.php.
kirim.php2. Buat lagi sebuah file dengan nama kirim.php.
SMTPDebug = 0; // Enable verbose debug output
$mail->isSMTP(); // Set mailer to use SMTP
$mail->Host = 'smtp.gmail.com'; // Specify main and backup SMTP servers
$mail->SMTPAuth = true; // Enable SMTP authentication
$mail->Username = 'emailpengirim@gmail.com'; // SMTP username
$mail->Password = 'passwordanda'; // SMTP password
$mail->SMTPSecure = 'ssl'; // Enable TLS encryption, `ssl` also accepted
$mail->Port = 465; // TCP port to connect to
$mail->setFrom('emailpengirim@gmail.com', 'Nama pengirim');
$mail->addAddress($_POST['email'], $_POST['nama']); // Add a recipient
//$mail->addAddress('ellen@example.com'); // Name is optional
//$mail->addReplyTo('info@example.com', 'Information');
//$mail->addCC('cc@example.com');
//$mail->addBCC('bcc@example.com');
//Attachments
//$mail->addAttachment('/var/tmp/file.tar.gz'); // Add attachments
//$mail->addAttachment('/tmp/image.jpg', 'new.jpg'); // Optional name
//Content
$mail->isHTML(true); // Set email format to HTML
$mail->Subject = $_POST['subjek'];
$mail->Body = $_POST['pesan'];
// $mail->AltBody = 'This is the body in plain text for non-HTML mail clients';
$mail->send();
echo 'Message has been sent';
} catch (Exception $e) {
echo 'Message could not be sent. Mailer Error: ', $mail->ErrorInfo;
}