Voorbeelden van SMTP-integratie

Deze gids biedt gedetailleerde voorbeelden van hoe u kunt integreren met de SMTP-service van Forward Email met behulp van verschillende programmeertalen, frameworks en e-mailclients. Onze SMTP-service is ontworpen om betrouwbaar, veilig en eenvoudig te integreren met uw bestaande applicaties.

Voordat we ingaan op de integratievoorbeelden, is het belangrijk om te begrijpen hoe onze SMTP-service e-mails verwerkt:

E-mailwachtrij en herhaalsysteem

Wanneer u een e-mail via SMTP naar onze servers verzendt:

  1. Initiële verwerking: De e-mail wordt gevalideerd, gescand op malware en gecontroleerd door spamfilters
  2. Slimme wachtrij: E-mails worden in een geavanceerd wachtrijsysteem geplaatst voor bezorging
  3. Intelligent herhaalmechanisme: Als de levering tijdelijk mislukt, zal ons systeem:
    • Analyseer de foutrespons met behulp van onze getBounceInfo functie
    • Bepaal of het probleem tijdelijk is (bijvoorbeeld 'probeer het later opnieuw', 'tijdelijk uitgesteld') of permanent (bijvoorbeeld 'gebruiker onbekend')
    • Bij tijdelijke problemen markeert u de e-mail voor opnieuw proberen
    • Genereer een bounce-melding bij permanente problemen
  4. 5-daagse herkansingsperiode: We proberen de levering maximaal 5 dagen opnieuw uit te voeren (vergelijkbaar met industrienormen zoals Postfix), zodat tijdelijke problemen de tijd krijgen om op te lossen
  5. Meldingen over de bezorgstatus: Verzenders ontvangen meldingen over de status van hun e-mails (bezorgd, vertraagd of teruggestuurd)

[!NOTE] Na succesvolle levering wordt de inhoud van uitgaande SMTP-e-mails na een configureerbare bewaartermijn (standaard 30 dagen) geredigeerd voor beveiliging en privacy. Er blijft alleen een tijdelijke aanduiding over die succesvolle levering aangeeft.

Dummy-proof voor betrouwbaarheid

Ons systeem is ontworpen om verschillende randgevallen te kunnen verwerken:

  • Als er een blokkeerlijst wordt gedetecteerd, wordt de e-mail automatisch opnieuw geprobeerd
  • Als er netwerkproblemen optreden, wordt de levering opnieuw geprobeerd
  • Als de mailbox van de ontvanger vol is, zal het systeem het later opnieuw proberen
  • Als de ontvangende server tijdelijk niet beschikbaar is, blijven we proberen

Deze aanpak verbetert de leveringspercentages aanzienlijk, terwijl de privacy en veiligheid behouden blijven.

Nodemailer gebruiken

Opmerking mailer is een populaire module voor het verzenden van e-mails vanuit Node.js-toepassingen.

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();

Express.js gebruiken

Hier leest u hoe u Forward Email SMTP integreert met een Express.js-toepassing:

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}); });

smtplib gebruiken

import smtplib
from email.mime.text import MIMEText
from email.mime.multipart import MIMEMultipart

Email configuration

sender_email = "your-username@your-domain.com" receiver_email = "recipient@example.com" password = "your-password"

Create message

message = 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 message

text = "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 objects

part1 = MIMEText(text, "plain") part2 = MIMEText(html, "html")

Add HTML/plain-text parts to MIMEMultipart message

message.attach(part1) message.attach(part2)

Send email

try: 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}")

Django gebruiken

Voor Django-toepassingen voegt u het volgende toe aan uw 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'

Stuur vervolgens e-mails in uw weergaven:

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!')

PHPMailer gebruiken

<?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    = '&#x3C;b>Hello world!&#x3C;/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}"; }

Laravel gebruiken

Voor Laravel-toepassingen moet u uw .env bestand:

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}"

Verstuur vervolgens e-mails met behulp van Laravel's Mail-façade:

<?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 Mail Gem gebruiken

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!"

De Java Mail API gebruiken

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("&#x3C;b>Hello world!&#x3C;/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);
    }
}

}

Dondervogel

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]
  1. Open Thunderbird en ga naar Accountinstellingen
  2. Klik op "Accountacties" en selecteer "E-mailaccount toevoegen"
  3. Voer uw naam, e-mailadres en wachtwoord in
  4. Klik op "Handmatige configuratie" en voer de volgende gegevens in:
    • Inkomende server:
      • IMAP: imap.forwardemail.net, Poort: 993, SSL/TLS
      • POP3: pop3.forwardemail.net, Poort: 995, SSL/TLS
    • Uitgaande server (SMTP): smtp.forwardemail.net, Poort: 465, SSL/TLS
    • Authenticatie: Normaal wachtwoord
    • Gebruikersnaam: uw volledige e-mailadres
  5. Klik op "Test" en vervolgens op "Gereed"

Apple-mail

  1. Open Mail en ga naar Mail > Voorkeuren > Accounts
  2. Klik op de knop "+" om een nieuw account toe te voegen
  3. Selecteer "Ander e-mailaccount" en klik op "Doorgaan"
  4. Voer uw naam, e-mailadres en wachtwoord in en klik op 'Aanmelden'
  5. Wanneer de automatische installatie mislukt, voert u de volgende gegevens in:
    • Inkomende mailserver: imap.forwardemail.net (of pop3.forwardemail.net voor POP3)
    • Uitgaande mailserver: smtp.forwardemail.net
    • Gebruikersnaam: uw volledige e-mailadres
    • Wachtwoord: uw wachtwoord
  6. Klik op "Aanmelden" om de installatie te voltooien

Gmail (E-mail verzenden als)

  1. Open Gmail en ga naar Instellingen > Accounts en importeren
  2. Klik onder 'E-mail verzenden als' op 'Nog een e-mailadres toevoegen'
  3. Voer uw naam en e-mailadres in en klik op "Volgende stap"
  4. Voer de volgende SMTP-servergegevens in:
    • SMTP-server: smtp.forwardemail.net
    • Haven: 465
    • Gebruikersnaam: uw volledige e-mailadres
    • Wachtwoord: uw wachtwoord
    • Selecteer "Beveiligde verbinding via SSL"
  5. Klik op "Account toevoegen" en verifieer uw e-mailadres

Veelvoorkomende problemen en oplossingen

  1. Authenticatie mislukt

    • Verifieer uw gebruikersnaam (volledig e-mailadres) en wachtwoord
    • Zorg ervoor dat u de juiste poort gebruikt (465 voor SSL/TLS)
    • Controleer of SMTP-toegang is ingeschakeld voor uw account
  2. Verbindingstime-out

    • Controleer uw internetverbinding
    • Controleer of de firewallinstellingen SMTP-verkeer niet blokkeren
    • Probeer een andere poort (587 met STARTTLS)
  3. Bericht afgewezen

    • Zorg ervoor dat uw "Van"-adres overeenkomt met uw geverifieerde e-mailadres
    • Controleer of uw IP op de zwarte lijst staat
    • Controleer of de inhoud van uw bericht geen spamfilters activeert
  4. TLS/SSL-fouten

    • Werk uw applicatie/bibliotheek bij ter ondersteuning van moderne TLS-versies
    • Zorg ervoor dat de CA-certificaten van uw systeem up-to-date zijn
    • Probeer expliciete TLS in plaats van impliciete TLS

Hulp krijgen

Als u problemen ondervindt die hier niet worden behandeld, kunt u het volgende doen:

  1. Bekijk onze FAQ-pagina voor veelgestelde vragen
  2. Bekijk onze blogpost over e-mailbezorging voor gedetailleerde informatie
  3. Neem contact op met ons ondersteuningsteam via support@forwardemail.net

De SMTP-service van Forward Email biedt een betrouwbare, veilige en privacygerichte manier om e-mails te versturen vanuit uw applicaties en e-mailclients. Met ons intelligente wachtrijsysteem, 5-dagen retry-mechanisme en uitgebreide meldingen over de bezorgstatus kunt u erop vertrouwen dat uw e-mails hun bestemming bereiken.

Voor geavanceerdere use cases of aangepaste integraties kunt u contact opnemen met ons supportteam.