- Søgeside
- Indholdsfortegnelse
Eksempler på SMTP-integration
Forord
Denne vejledning giver detaljerede eksempler på, hvordan man integrerer med Forward Emails SMTP-tjeneste ved hjælp af forskellige programmeringssprog, rammer og e-mail-klienter. Vores SMTP-tjeneste er designet til at være pålidelig, sikker og nem at integrere med dine eksisterende applikationer.
Sådan fungerer videresend e-mails SMTP-behandling
Før du dykker ned i integrationseksemplerne, er det vigtigt at forstå, hvordan vores SMTP-tjeneste behandler e-mails:
E-mail-kø og system igen
Når du sender en e-mail via SMTP til vores servere:
- Indledende behandling: E-mailen valideres, scannes for malware og kontrolleres mod spamfiltre
- Smart kø: E-mails placeres i et sofistikeret køsystem til levering
- Intelligent genforsøgsmekanisme: Hvis levering mislykkes midlertidigt, vil vores system:
- Analyser fejlreaktionen ved hjælp af vores
getBounceInfo
fungere - Afgør, om problemet er midlertidigt (f.eks. "prøv igen senere", "midlertidigt udsat") eller permanent (f.eks. "bruger ukendt")
- Ved midlertidige problemer skal du markere e-mailen for at prøve igen
- Ved permanente problemer skal du generere en afvisningsmeddelelse
- Analyser fejlreaktionen ved hjælp af vores
- 5-dages prøveperiode: Vi prøver at levere igen i op til 5 dage (svarende til industristandarder som Postfix), hvilket giver midlertidige problemer tid til at løse
- Meddelelser om leveringsstatus: Afsendere modtager meddelelser om status for deres e-mails (leveret, forsinket eller afvist)
[!NOTE] Efter vellykket levering bliver udgående SMTP-e-mail-indhold redigeret efter en konfigurerbar opbevaringsperiode (standard 30 dage) af hensyn til sikkerhed og privatliv. Der er kun en pladsholdermeddelelse tilbage, der indikerer vellykket levering.
Dummy-sikret for pålidelighed
Vores system er designet til at håndtere forskellige kantsager:
- Hvis der registreres en blokeringsliste, vil e-mailen automatisk blive forsøgt igen
- Hvis der opstår netværksproblemer, vil levering blive forsøgt igen
- Hvis modtagerens postkasse er fuld, vil systemet prøve igen senere
- Hvis den modtagende server midlertidigt ikke er tilgængelig, fortsætter vi med at prøve
Denne tilgang forbedrer leveringshastighederne betydeligt, samtidig med at privatlivets fred og sikkerhed bevares.
Node.js Integration
Brug af Nodemailer
Notat mailer er et populært modul til at sende e-mails fra Node.js-applikationer.
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();
Brug af Express.js
Sådan integrerer du Forward Email SMTP med en Express.js-applikation:
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}
);
});
Python-integration
Bruger 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}")
Bruger Django
For Django-applikationer skal du tilføje følgende til din 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'
Send derefter e-mails i dine synspunkter:
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!')
PHP integration
Bruger 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}";
}
Brug af Laravel
For Laravel-applikationer skal du opdatere din .env
fil:
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}"
Send derefter e-mails ved hjælp af Laravels Mail-facade:
<?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!';
}
}
Ruby integration
Brug af 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!"
Java integration
Bruger JavaMail 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);
}
}
}
E-mail-klientkonfiguration
Thunderbird
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]
- Åbn Thunderbird og gå til Kontoindstillinger
- Klik på "Kontohandlinger" og vælg "Tilføj mailkonto"
- Indtast dit navn, e-mailadresse og adgangskode
- Klik på "Manuel konfiguration" og indtast følgende detaljer:
- Indgående server:
- IMAP: imap.forwardemail.net, Port: 993, SSL/TLS
- POP3: pop3.forwardemail.net, Port: 995, SSL/TLS
- Udgående server (SMTP): smtp.forwardemail.net, Port: 465, SSL/TLS
- Godkendelse: Normal adgangskode
- Brugernavn: din fulde e-mailadresse
- Indgående server:
- Klik på "Test" og derefter "Udført"
Apple Mail
- Åbn Mail og gå til Mail > Præferencer > Konti
- Klik på knappen "+" for at tilføje en ny konto
- Vælg "Anden mailkonto" og klik på "Fortsæt"
- Indtast dit navn, din e-mailadresse og din adgangskode, og klik derefter på "Log ind"
- Når den automatiske opsætning mislykkes, skal du indtaste følgende detaljer:
- Indgående mailserver: imap.forwardemail.net (eller pop3.forwardemail.net for POP3)
- Udgående mailserver: smtp.forwardemail.net
- Brugernavn: din fulde e-mailadresse
- Adgangskode: din adgangskode
- Klik på "Log ind" for at fuldføre opsætningen
Gmail (Send mail som)
- Åbn Gmail og gå til Indstillinger > Konti og import
- Klik på "Tilføj en anden e-mailadresse" under "Send mail som"
- Indtast dit navn og din e-mailadresse, og klik derefter på "Næste trin"
- Indtast følgende SMTP-serveroplysninger:
- SMTP-server: smtp.forwardemail.net
- Havn: 465
- Brugernavn: din fulde e-mailadresse
- Adgangskode: din adgangskode
- Vælg "Sikker forbindelse med SSL"
- Klik på "Tilføj konto" og bekræft din e-mailadresse
Fejlfinding
Fælles problemer og løsninger
-
Godkendelse mislykkedes
- Bekræft dit brugernavn (fuld e-mail-adresse) og adgangskode
- Sørg for, at du bruger den korrekte port (465 for SSL/TLS)
- Tjek, om din konto har SMTP-adgang aktiveret
-
Forbindelsestimeout
- Tjek din internetforbindelse
- Kontroller, at firewall-indstillingerne ikke blokerer SMTP-trafik
- Prøv at bruge en anden port (587 med STARTTLS)
-
Besked afvist
- Sørg for, at din "Fra"-adresse matcher din godkendte e-mail
- Tjek om din IP er sortlistet
- Bekræft, at dit beskedindhold ikke udløser spamfiltre
-
TLS/SSL-fejl
- Opdater dit program/bibliotek for at understøtte moderne TLS-versioner
- Sørg for, at dit systems CA-certifikater er opdaterede
- Prøv eksplicit TLS i stedet for implicit TLS
Få hjælp
Hvis du støder på problemer, der ikke er dækket her, bedes du:
- Tjek vores FAQ side for almindelige spørgsmål
- Gennemgå vores blogindlæg om levering af e-mail for detaljerede oplysninger
- Kontakt vores supportteam på support@forwardemail.net
Yderligere ressourcer
Konklusion
Forward Emails SMTP-tjeneste giver en pålidelig, sikker og privatlivsfokuseret måde at sende e-mails fra dine applikationer og e-mail-klienter på. Med vores intelligente køsystem, 5-dages genforsøgsmekanisme og omfattende leveringsstatusmeddelelser kan du være sikker på, at dine e-mails når frem til deres destination.
For mere avancerede brugssager eller tilpassede integrationer, kontakt venligst vores supportteam.