- halaman pencarian
- Daftar Isi
Contoh Integrasi SMTP
Kata pengantar
Panduan ini menyediakan contoh terperinci tentang cara mengintegrasikan dengan layanan SMTP Forward Email menggunakan berbagai bahasa pemrograman, kerangka kerja, dan klien email. Layanan SMTP kami dirancang agar dapat diandalkan, aman, dan mudah diintegrasikan dengan aplikasi Anda yang sudah ada.
Cara Kerja Pemrosesan SMTP Email Terusan
Sebelum menyelami contoh integrasi, penting untuk memahami bagaimana layanan SMTP kami memproses email:
Sistem Antrean dan Coba Ulang Email
Ketika Anda mengirimkan email melalui SMTP ke server kami:
- Pemrosesan Awal: Email divalidasi, dipindai untuk mengetahui malware, dan diperiksa terhadap filter spam
- Antrean Cerdas: Email ditempatkan dalam sistem antrian yang canggih untuk pengiriman
- Mekanisme Percobaan Ulang Cerdas:Jika pengiriman gagal sementara, sistem kami akan:
- Menganalisis respons kesalahan menggunakan
getBounceInfo
fungsi - Tentukan apakah masalahnya bersifat sementara (misalnya, "coba lagi nanti", "ditunda sementara") atau permanen (misalnya, "pengguna tidak dikenal")
- Untuk masalah sementara, tandai email untuk dicoba lagi
- Untuk masalah permanen, buat pemberitahuan pantulan
- Menganalisis respons kesalahan menggunakan
- Periode Coba Ulang 5 Hari: Kami mencoba pengiriman ulang hingga 5 hari (mirip dengan standar industri seperti Postfix), memberikan waktu bagi masalah sementara untuk diselesaikan
- Pemberitahuan Status Pengiriman:Pengirim menerima pemberitahuan tentang status email mereka (terkirim, tertunda, atau terkirim)
[!CATATAN] Setelah pengiriman berhasil, konten email SMTP keluar akan dihapus setelah periode penyimpanan yang dapat dikonfigurasi (default 30 hari) demi keamanan dan privasi. Hanya pesan pengganti yang tersisa yang menunjukkan pengiriman berhasil.
Diuji Keandalannya
Sistem kami dirancang untuk menangani berbagai kasus ekstrem:
- Jika daftar blokir terdeteksi, email akan dicoba lagi secara otomatis
- Jika terjadi masalah jaringan, pengiriman akan dicoba lagi
- Jika kotak surat penerima penuh, sistem akan mencoba lagi nanti
- Jika server penerima tidak tersedia untuk sementara, kami akan terus mencoba
Pendekatan ini secara signifikan meningkatkan tingkat pengiriman dengan tetap menjaga privasi dan keamanan.
Integrasi Node.js
Menggunakan Nodemailer
Nodemailer adalah modul populer untuk mengirim email dari aplikasi Node.js.
const nodemailer = require('nodemailer');
// Create a transporter object
const transporter = nodemailer.createTransport({
host: 'smtp.forwardemail.net',
port: 465,
secure: true, // Use TLS
auth: {
user: 'your-username@your-domain.com',
pass: 'your-password'
}
});
// Send mail with defined transport object
async function sendEmail() {
try {
const info = await transporter.sendMail({
from: '"Your Name" <your-username@your-domain.com>',
to: 'recipient@example.com',
subject: 'Hello from Forward Email',
text: 'Hello world! This is a test email sent using Nodemailer and Forward Email SMTP.',
html: '<b>Hello world!</b> This is a test email sent using Nodemailer and Forward Email SMTP.'
});
console.log('Message sent: %s', info.messageId);
} catch (error) {
console.error('Error sending email:', error);
}
}
sendEmail();
Menggunakan Express.js
Berikut cara mengintegrasikan Forward Email SMTP dengan aplikasi Express.js:
const express = require('express');
const nodemailer = require('nodemailer');
const app = express();
const port = 3000;
app.use(express.json());
// Configure email transporter
const transporter = nodemailer.createTransport({
host: 'smtp.forwardemail.net',
port: 465,
secure: true,
auth: {
user: 'your-username@your-domain.com',
pass: 'your-password'
}
});
// API endpoint for sending emails
app.post('/send-email', async (req, res) => {
const { to, subject, text, html } = req.body;
try {
const info = await transporter.sendMail({
from: '"Your App" <your-username@your-domain.com>',
to,
subject,
text,
html
});
res.status(200).json({
success: true,
messageId: info.messageId
});
} catch (error) {
console.error('Error sending email:', error);
res.status(500).json({
success: false,
error: error.message
});
}
});
app.listen(port, () => {
console.log(Server running at http://localhost:${port}
);
});
Integrasi Python
Menggunakan smtplib
import smtplib
from email.mime.text import MIMEText
from email.mime.multipart import MIMEMultipart
Email configurationsender_email = "your-username@your-domain.com"
receiver_email = "recipient@example.com"
password = "your-password"
Create messagemessage = MIMEMultipart("alternative")
message["Subject"] = "Hello from Forward Email"
message["From"] = sender_email
message["To"] = receiver_email
Create the plain-text and HTML version of your messagetext = "Hello world! This is a test email sent using Python and Forward Email SMTP."
html = "<html><body><b>Hello world!</b> This is a test email sent using Python and Forward Email SMTP.</body></html>"
Turn these into plain/html MIMEText objectspart1 = MIMEText(text, "plain")
part2 = MIMEText(html, "html")
Add HTML/plain-text parts to MIMEMultipart messagemessage.attach(part1)
message.attach(part2)
Send emailtry:
server = smtplib.SMTP_SSL("smtp.forwardemail.net", 465)
server.login(sender_email, password)
server.sendmail(sender_email, receiver_email, message.as_string())
server.quit()
print("Email sent successfully!")
except Exception as e:
print(f"Error sending email: {e}")
Menggunakan Django
Untuk aplikasi Django, tambahkan yang berikut ke settings.py
:
# Email settings
EMAIL_BACKEND = 'django.core.mail.backends.smtp.EmailBackend'
EMAIL_HOST = 'smtp.forwardemail.net'
EMAIL_PORT = 465
EMAIL_USE_SSL = True
EMAIL_HOST_USER = 'your-username@your-domain.com'
EMAIL_HOST_PASSWORD = 'your-password'
DEFAULT_FROM_EMAIL = 'your-username@your-domain.com'
Kemudian kirim email dalam tampilan Anda:
from django.core.mail import send_mail
def send_email_view(request):
send_mail(
'Subject here',
'Here is the message.',
'from@your-domain.com',
['to@example.com'],
fail_silently=False,
html_message='<b>Here is the HTML message.</b>'
)
return HttpResponse('Email sent!')
Integrasi PHP
Menggunakan PHPMailer
<?php
use PHPMailer\PHPMailer\PHPMailer;
use PHPMailer\PHPMailer\Exception;
require 'vendor/autoload.php';
$mail = new PHPMailer(true);
try {
// Server settings
$mail->isSMTP();
$mail->Host = 'smtp.forwardemail.net';
$mail->SMTPAuth = true;
$mail->Username = 'your-username@your-domain.com';
$mail->Password = 'your-password';
$mail->SMTPSecure = PHPMailer::ENCRYPTION_SMTPS;
$mail->Port = 465;
// Recipients
$mail->setFrom('your-username@your-domain.com', 'Your Name');
$mail->addAddress('recipient@example.com', 'Recipient Name');
$mail->addReplyTo('your-username@your-domain.com', 'Your Name');
// Content
$mail->isHTML(true);
$mail->Subject = 'Hello from Forward Email';
$mail->Body = '<b>Hello world!</b> This is a test email sent using PHPMailer and Forward Email SMTP.';
$mail->AltBody = 'Hello world! This is a test email sent using PHPMailer and Forward Email SMTP.';
$mail->send();
echo 'Message has been sent';
} catch (Exception $e) {
echo "Message could not be sent. Mailer Error: {$mail->ErrorInfo}";
}
Menggunakan Laravel
Untuk aplikasi Laravel, perbarui .env
mengajukan:
MAIL_MAILER=smtp
MAIL_HOST=smtp.forwardemail.net
MAIL_PORT=465
MAIL_USERNAME=your-username@your-domain.com
MAIL_PASSWORD=your-password
MAIL_ENCRYPTION=ssl
MAIL_FROM_ADDRESS=your-username@your-domain.com
MAIL_FROM_NAME="${APP_NAME}"
Kemudian kirim email menggunakan fasad Mail Laravel:
<?php
namespace App\Http\Controllers;
use Illuminate\Http\Request;
use Illuminate\Support\Facades\Mail;
use App\Mail\WelcomeEmail;
class EmailController extends Controller
{
public function sendEmail()
{
Mail::to('recipient@example.com')->send(new WelcomeEmail());
return 'Email sent successfully!';
}
}
Integrasi Ruby
Menggunakan Ruby Mail Gem
require 'mail'
Mail.defaults do
delivery_method :smtp, {
address: 'smtp.forwardemail.net',
port: 465,
domain: 'your-domain.com',
user_name: 'your-username@your-domain.com',
password: 'your-password',
authentication: 'plain',
enable_starttls_auto: true,
ssl: true
}
end
mail = Mail.new do
from 'your-username@your-domain.com'
to 'recipient@example.com'
subject 'Hello from Forward Email'
text_part do
body 'Hello world! This is a test email sent using Ruby Mail and Forward Email SMTP.'
end
html_part do
content_type 'text/html; charset=UTF-8'
body '<b>Hello world!</b> This is a test email sent using Ruby Mail and Forward Email SMTP.'
end
end
mail.deliver!
puts "Email sent successfully!"
Integrasi Java
Menggunakan API JavaMail
import java.util.Properties;
import javax.mail.*;
import javax.mail.internet.*;
public class SendEmail {
public static void main(String[] args) {
// Sender's email and password
final String username = "your-username@your-domain.com";
final String password = "your-password";
// SMTP server properties
Properties props = new Properties();
props.put("mail.smtp.auth", "true");
props.put("mail.smtp.starttls.enable", "true");
props.put("mail.smtp.host", "smtp.forwardemail.net");
props.put("mail.smtp.port", "465");
props.put("mail.smtp.socketFactory.port", "465");
props.put("mail.smtp.socketFactory.class", "javax.net.ssl.SSLSocketFactory");
// Create session with authenticator
Session session = Session.getInstance(props,
new javax.mail.Authenticator() {
protected PasswordAuthentication getPasswordAuthentication() {
return new PasswordAuthentication(username, password);
}
});
try {
// Create message
Message message = new MimeMessage(session);
message.setFrom(new InternetAddress(username));
message.setRecipients(Message.RecipientType.TO, InternetAddress.parse("recipient@example.com"));
message.setSubject("Hello from Forward Email");
// Create multipart message
Multipart multipart = new MimeMultipart("alternative");
// Text part
BodyPart textPart = new MimeBodyPart();
textPart.setText("Hello world! This is a test email sent using JavaMail and Forward Email SMTP.");
// HTML part
BodyPart htmlPart = new MimeBodyPart();
htmlPart.setContent("<b>Hello world!</b> This is a test email sent using JavaMail and Forward Email SMTP.", "text/html");
// Add parts to multipart
multipart.addBodyPart(textPart);
multipart.addBodyPart(htmlPart);
// Set content
message.setContent(multipart);
// Send message
Transport.send(message);
System.out.println("Email sent successfully!");
} catch (MessagingException e) {
throw new RuntimeException(e);
}
}
}
Konfigurasi Klien Email
Petir
flowchart TD
A[Open Thunderbird] --> B[Account Settings]
B --> C[Account Actions]
C --> D[Add Mail Account]
D --> E[Enter Name, Email, Password]
E --> F[Manual Config]
F --> G[Enter Server Details]
G --> H[SMTP: smtp.forwardemail.net]
H --> I[Port: 465]
I --> J[Connection: SSL/TLS]
J --> K[Authentication: Normal Password]
K --> L[Username: full email address]
L --> M[Test and Create Account]
- Buka Thunderbird dan masuk ke Pengaturan Akun
- Klik "Tindakan Akun" dan pilih "Tambah Akun Email"
- Masukkan nama, alamat email, dan kata sandi Anda
- Klik "Konfigurasi Manual" dan masukkan rincian berikut:
- Server Masuk:
- IMAP: imap.forwardemail.net, Porta: 993, SSL/TLS
- POP3: pop3.forwardemail.net, Porta: 995, SSL/TLS
- Server Keluar (SMTP): smtp.forwardemail.net, Port: 465, SSL/TLS
- Otentikasi: Kata Sandi Normal
- Nama pengguna: alamat email lengkap Anda
- Server Masuk:
- Klik "Uji" dan kemudian "Selesai"
Surat Apple
- Buka Mail dan buka Mail > Preferensi > Akun
- Klik tombol "+" untuk menambahkan akun baru
- Pilih "Akun Email Lainnya" dan klik "Lanjutkan"
- Masukkan nama, alamat email, dan kata sandi Anda, lalu klik "Masuk"
- Jika pengaturan otomatis gagal, masukkan rincian berikut:
- Server Surat Masuk: imap.forwardemail.net (atau pop3.forwardemail.net untuk POP3)
- Server Surat Keluar: smtp.forwardemail.net
- Nama pengguna: alamat email lengkap Anda
- Kata sandi: kata sandi Anda
- Klik "Masuk" untuk menyelesaikan pengaturan
Gmail (Kirim Email Sebagai)
- Buka Gmail dan buka Setelan > Akun dan Impor
- Di bawah "Kirim email sebagai", klik "Tambahkan alamat email lain"
- Masukkan nama dan alamat email Anda, lalu klik "Langkah Berikutnya"
- Masukkan rincian server SMTP berikut:
- Server SMTP: smtp.forwardemail.net
- Pelabuhan: 465
- Nama pengguna: alamat email lengkap Anda
- Kata sandi: kata sandi Anda
- Pilih "Koneksi aman menggunakan SSL"
- Klik "Tambah Akun" dan verifikasi alamat email Anda
Penyelesaian Masalah
Masalah Umum dan Solusinya
-
Otentikasi Gagal
- Verifikasi nama pengguna (alamat email lengkap) dan kata sandi Anda
- Pastikan Anda menggunakan port yang benar (465 untuk SSL/TLS)
- Periksa apakah akun Anda telah mengaktifkan akses SMTP
-
Waktu Koneksi Habis
- Periksa koneksi internet Anda
- Verifikasi pengaturan firewall tidak memblokir lalu lintas SMTP
- Coba gunakan port lain (587 dengan STARTTLS)
-
Pesan Ditolak
- Pastikan alamat "Dari" Anda cocok dengan email Anda yang diautentikasi
- Periksa apakah IP Anda masuk daftar hitam
- Verifikasi konten pesan Anda tidak memicu filter spam
-
Kesalahan TLS/SSL
- Perbarui aplikasi/perpustakaan Anda untuk mendukung versi TLS modern
- Pastikan sertifikat CA sistem Anda mutakhir
- Coba TLS eksplisit daripada TLS implisit
Mendapatkan Bantuan
Jika Anda mengalami masalah yang tidak tercakup di sini, silakan:
- Periksa kami halaman FAQ untuk pertanyaan umum
- Tinjau kami postingan blog tentang pengiriman email untuk informasi lebih rinci
- Hubungi tim dukungan kami di support@forwardemail.net
Sumber Daya Tambahan
Kesimpulan
Layanan SMTP Forward Email menyediakan cara yang andal, aman, dan berfokus pada privasi untuk mengirim email dari aplikasi dan klien email Anda. Dengan sistem antrean cerdas, mekanisme coba ulang 5 hari, dan pemberitahuan status pengiriman yang komprehensif, Anda dapat yakin bahwa email Anda akan sampai ke tujuannya.
Untuk kasus penggunaan lebih lanjut atau integrasi khusus, silakan hubungi tim dukungan kami.