- Trang tìm kiếm
- Mục lục
Ví dụ tích hợp SMTP
Lời tựa
Hướng dẫn này cung cấp các ví dụ chi tiết về cách tích hợp với dịch vụ SMTP của Forward Email bằng nhiều ngôn ngữ lập trình, khuôn khổ và ứng dụng email khác nhau. Dịch vụ SMTP của chúng tôi được thiết kế để đáng tin cậy, an toàn và dễ tích hợp với các ứng dụng hiện có của bạn.
Quá trình xử lý SMTP của Forward Email hoạt động như thế nào
Trước khi tìm hiểu sâu hơn về các ví dụ tích hợp, điều quan trọng là phải hiểu cách dịch vụ SMTP của chúng tôi xử lý email:
Hệ thống hàng đợi và thử lại email
Khi bạn gửi email qua SMTP tới máy chủ của chúng tôi:
- Xử lý ban đầu:Email được xác thực, quét phần mềm độc hại và kiểm tra bằng bộ lọc thư rác
- Xếp hàng thông minh: Email được đưa vào hệ thống xếp hàng tinh vi để chuyển phát
- Cơ chế thử lại thông minh: Nếu việc giao hàng tạm thời không thành công, hệ thống của chúng tôi sẽ:
- Phân tích phản hồi lỗi bằng cách sử dụng
getBounceInfo
chức năng - Xác định xem sự cố là tạm thời (ví dụ: "thử lại sau", "tạm hoãn") hay vĩnh viễn (ví dụ: "người dùng không xác định")
- Đối với các vấn đề tạm thời, hãy đánh dấu email để thử lại
- Đối với các vấn đề cố định, hãy tạo thông báo trả lại
- Phân tích phản hồi lỗi bằng cách sử dụng
- Thời gian thử lại 5 ngày: Chúng tôi thử giao hàng lại trong tối đa 5 ngày (tương tự như tiêu chuẩn của ngành như Postfix), giúp các vấn đề tạm thời có thời gian giải quyết
- Thông báo tình trạng giao hàng: Người gửi nhận được thông báo về trạng thái email của họ (đã gửi, bị chậm trễ hoặc bị trả lại)
[!LƯU Ý] Sau khi gửi thành công, nội dung email SMTP gửi đi sẽ được biên tập lại sau thời gian lưu giữ có thể cấu hình (mặc định là 30 ngày) để bảo mật và riêng tư. Chỉ còn lại một thông báo giữ chỗ cho biết việc gửi thành công.
Được chứng minh là đáng tin cậy
Hệ thống của chúng tôi được thiết kế để xử lý nhiều trường hợp ngoại lệ:
- Nếu phát hiện danh sách chặn, email sẽ tự động được thử lại
- Nếu xảy ra sự cố mạng, việc giao hàng sẽ được thực hiện lại
- Nếu hộp thư của người nhận đã đầy, hệ thống sẽ thử lại sau
- Nếu máy chủ nhận tạm thời không khả dụng, chúng tôi sẽ tiếp tục thử
Cách tiếp cận này cải thiện đáng kể tỷ lệ gửi thư trong khi vẫn đảm bảo quyền riêng tư và bảo mật.
Tích hợp Node.js
Sử dụng Nodemailer
Người gửi thư ghi chú là một mô-đun phổ biến để gửi email từ các ứng dụng 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();
Sử dụng Express.js
Sau đây là cách tích hợp Forward Email SMTP với ứng dụng 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}
);
});
Tích hợp Python
Sử dụng 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}")
Sử dụng Django
Đối với các ứng dụng Django, hãy thêm nội dung sau vào 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'
Sau đó gửi email theo quan điểm của bạn:
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!')
Tích hợp PHP
Sử dụng 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}";
}
Sử dụng Laravel
Đối với các ứng dụng Laravel, hãy cập nhật .env
tài liệu:
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}"
Sau đó gửi email bằng giao diện Mail của 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!';
}
}
Tích hợp Ruby
Sử dụng 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!"
Tích hợp Java
Sử dụng Java Mail API
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);
}
}
}
Cấu hình máy khách email
Chim Sấm Sét
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]
- Mở Thunderbird và vào Cài đặt tài khoản
- Nhấp vào "Hành động tài khoản" và chọn "Thêm tài khoản thư"
- Nhập tên, địa chỉ email và mật khẩu của bạn
- Nhấp vào "Cấu hình thủ công" và nhập các thông tin sau:
- Máy chủ đến:
- IMAP: imap.forwardemail.net, Cổng: 993, SSL/TLS
- POP3: pop3.forwardemail.net, Cổng: 995, SSL/TLS
- Máy chủ gửi đi (SMTP): smtp.forwardemail.net, Cổng: 465, SSL/TLS
- Xác thực: Mật khẩu bình thường
- Tên người dùng: địa chỉ email đầy đủ của bạn
- Máy chủ đến:
- Nhấp vào "Kiểm tra" rồi "Xong"
Thư Apple
- Mở Mail và vào Mail > Preferences > Accounts
- Nhấp vào nút "+" để thêm tài khoản mới
- Chọn "Tài khoản thư khác" và nhấp vào "Tiếp tục"
- Nhập tên, địa chỉ email và mật khẩu của bạn, sau đó nhấp vào "Đăng nhập"
- Khi thiết lập tự động không thành công, hãy nhập các thông tin sau:
- Máy chủ thư đến: imap.forwardemail.net (hoặc pop3.forwardemail.net cho POP3)
- Máy chủ thư đi: smtp.forwardemail.net
- Tên người dùng: địa chỉ email đầy đủ của bạn
- Mật khẩu: mật khẩu của bạn
- Nhấp vào "Đăng nhập" để hoàn tất thiết lập
Gmail (Gửi thư dưới dạng)
- Mở Gmail và vào Cài đặt > Tài khoản và Nhập
- Trong mục "Gửi thư dưới dạng", hãy nhấp vào "Thêm địa chỉ email khác"
- Nhập tên và địa chỉ email của bạn, sau đó nhấp vào "Bước tiếp theo"
- Nhập thông tin chi tiết máy chủ SMTP sau:
- Máy chủ SMTP: smtp.forwardemail.net
- Cổng: 465
- Tên người dùng: địa chỉ email đầy đủ của bạn
- Mật khẩu: mật khẩu của bạn
- Chọn "Kết nối an toàn sử dụng SSL"
- Nhấp vào "Thêm tài khoản" và xác minh địa chỉ email của bạn
Xử lý sự cố
Các vấn đề thường gặp và giải pháp
-
Xác thực không thành công
- Xác minh tên người dùng (địa chỉ email đầy đủ) và mật khẩu của bạn
- Đảm bảo bạn đang sử dụng đúng cổng (465 cho SSL/TLS)
- Kiểm tra xem tài khoản của bạn có bật quyền truy cập SMTP không
-
Hết thời gian kết nối
- Kiểm tra kết nối internet của bạn
- Xác minh cài đặt tường lửa không chặn lưu lượng SMTP
- Hãy thử sử dụng một cổng khác (587 với STARTTLS)
-
Tin nhắn bị từ chối
- Đảm bảo địa chỉ "Từ" của bạn khớp với email đã xác thực của bạn
- Kiểm tra xem IP của bạn có bị đưa vào danh sách đen không
- Xác minh nội dung tin nhắn của bạn không kích hoạt bộ lọc thư rác
-
Lỗi TLS/SSL
- Cập nhật ứng dụng/thư viện của bạn để hỗ trợ các phiên bản TLS hiện đại
- Đảm bảo chứng chỉ CA của hệ thống của bạn được cập nhật
- Hãy thử TLS rõ ràng thay vì TLS ngầm định
Nhận trợ giúp
Nếu bạn gặp phải vấn đề không được đề cập ở đây, vui lòng:
- Kiểm tra của chúng tôi Trang câu hỏi thường gặp cho những câu hỏi thường gặp
- Đánh giá của chúng tôi bài đăng trên blog về việc gửi email để biết thông tin chi tiết
- Liên hệ với nhóm hỗ trợ của chúng tôi tại support@forwardemail.net
Tài nguyên bổ sung
Phần kết luận
Dịch vụ SMTP của Forward Email cung cấp một cách đáng tin cậy, an toàn và tập trung vào quyền riêng tư để gửi email từ các ứng dụng và máy khách email của bạn. Với hệ thống hàng đợi thông minh, cơ chế thử lại trong 5 ngày và thông báo trạng thái phân phối toàn diện, bạn có thể tự tin rằng email của mình sẽ đến đích.
Đối với các trường hợp sử dụng nâng cao hơn hoặc tích hợp tùy chỉnh, vui lòng liên hệ với nhóm hỗ trợ của chúng tôi.