Exempel på SMTP-integrering

Den här guiden ger detaljerade exempel på hur man integrerar med Forward Emails SMTP-tjänst med hjälp av olika programmeringsspråk, ramverk och e-postklienter. Vår SMTP-tjänst är designad för att vara pålitlig, säker och enkel att integrera med dina befintliga applikationer.

Innan du dyker in i integrationsexemplen är det viktigt att förstå hur vår SMTP-tjänst behandlar e-postmeddelanden:

E-postkö och försök igen

När du skickar ett e-postmeddelande via SMTP till våra servrar:

  1. Inledande bearbetning: E-postmeddelandet valideras, skannas efter skadlig programvara och kontrolleras mot spamfilter
  2. Smart kö: E-postmeddelanden placeras i ett sofistikerat kösystem för leverans
  3. Intelligent återförsöksmekanism: Om leveransen misslyckas tillfälligt kommer vårt system:
    • Analysera felsvaret med hjälp av vår getBounceInfo fungera
    • Bestäm om problemet är tillfälligt (t.ex. "försök igen senare", "tillfälligt uppskjutet") eller permanent (t.ex. "användare okänd")
    • För tillfälliga problem, markera e-postmeddelandet för försök igen
    • För permanenta problem, generera ett avvisningsmeddelande
  4. 5-dagars försöksperiod: Vi försöker leverera igen i upp till 5 dagar (liknande industristandarder som Postfix), vilket ger tillfälliga problem tid att lösa
  5. Meddelanden om leveransstatus: Avsändare får aviseringar om statusen för sina e-postmeddelanden (levererade, försenade eller avvisade)

[!NOTERA] Efter framgångsrik leverans redigeras utgående SMTP-e-postinnehåll efter en konfigurerbar lagringsperiod (standard 30 dagar) för säkerhet och integritet. Endast ett platshållarmeddelande återstår som indikerar framgångsrik leverans.

Dummy-säkrad för tillförlitlighet

Vårt system är designat för att hantera olika kantfall:

  • Om en blockeringslista upptäcks kommer e-postmeddelandet automatiskt att försökas igen
  • Om nätverksproblem uppstår kommer leverans att göras på nytt
  • Om mottagarens brevlåda är full kommer systemet att försöka igen senare
  • Om den mottagande servern är tillfälligt otillgänglig fortsätter vi att försöka

Detta tillvägagångssätt förbättrar leveranshastigheterna avsevärt samtidigt som sekretess och säkerhet bibehålls.

Använder Nodemailer

Notera mailer är en populär modul för att skicka e-post från 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();

Använder Express.js

Så här integrerar 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}); });

Använder smtplib

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

Använder Django

För Django-applikationer, lägg till följande till 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'

Skicka sedan e-postmeddelanden i dina åsikter:

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

Använder 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    = '&#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}"; }

Använder Laravel

För Laravel-applikationer, uppdatera 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}"

Skicka sedan e-post med Laravels Mail-fasad:

<?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!';
}

}

Använder 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!"

Använder 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("&#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);
    }
}

}

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]
  1. Öppna Thunderbird och gå till Kontoinställningar
  2. Klicka på "Kontoåtgärder" och välj "Lägg till e-postkonto"
  3. Ange ditt namn, e-postadress och lösenord
  4. Klicka på "Manuell konfiguration" och ange följande detaljer:
    • Inkommande server:
      • IMAP: imap.forwardemail.net, Port: 993, SSL/TLS
      • POP3: pop3.forwardemail.net, Port: 995, SSL/TLS
    • Utgående server (SMTP): smtp.forwardemail.net, Port: 465, SSL/TLS
    • Autentisering: Normalt lösenord
    • Användarnamn: din fullständiga e-postadress
  5. Klicka på "Test" och sedan på "Klar"

Apple Mail

  1. Öppna Mail och gå till Mail > Inställningar > Konton
  2. Klicka på "+"-knappen för att lägga till ett nytt konto
  3. Välj "Annan e-postkonto" och klicka på "Fortsätt"
  4. Ange ditt namn, e-postadress och lösenord och klicka sedan på "Logga in"
  5. När den automatiska installationen misslyckas anger du följande detaljer:
    • Server för inkommande e-post: imap.forwardemail.net (eller pop3.forwardemail.net för POP3)
    • Server för utgående e-post: smtp.forwardemail.net
    • Användarnamn: din fullständiga e-postadress
    • Lösenord: ditt lösenord
  6. Klicka på "Logga in" för att slutföra installationen

Gmail (Skicka e-post som)

  1. Öppna Gmail och gå till Inställningar > Konton och import
  2. Under "Skicka e-post som" klickar du på "Lägg till en annan e-postadress"
  3. Ange ditt namn och din e-postadress och klicka sedan på "Nästa steg"
  4. Ange följande SMTP-serverinformation:
    • SMTP-server: smtp.forwardemail.net
    • Hamn: 465
    • Användarnamn: din fullständiga e-postadress
    • Lösenord: ditt lösenord
    • Välj "Säker anslutning med SSL"
  5. Klicka på "Lägg till konto" och verifiera din e-postadress

Vanliga problem och lösningar

  1. Autentiseringen misslyckades

    • Verifiera ditt användarnamn (fullständig e-postadress) och lösenord
    • Se till att du använder rätt port (465 för SSL/TLS)
    • Kontrollera om ditt konto har SMTP-åtkomst aktiverad
  2. Timeout för anslutning

    • Kontrollera din internetanslutning
    • Kontrollera att brandväggsinställningarna inte blockerar SMTP-trafik
    • Prova att använda en annan port (587 med STARTTLS)
  3. Meddelande avvisats

    • Se till att din "Från"-adress matchar din autentiserade e-post
    • Kontrollera om din IP är svartlistad
    • Kontrollera att ditt meddelandeinnehåll inte utlöser spamfilter
  4. TLS/SSL-fel

    • Uppdatera ditt program/bibliotek för att stödja moderna TLS-versioner
    • Se till att ditt systems CA-certifikat är uppdaterade
    • Prova explicit TLS istället för implicit TLS

Få hjälp

Om du stöter på problem som inte täcks här, vänligen:

  1. Kolla vår FAQ-sida för vanliga frågor
  2. Granska vår blogginlägg om e-postleverans för detaljerad information
  3. Kontakta vårt supportteam på support@forwardemail.net

Forward Emails SMTP-tjänst tillhandahåller ett pålitligt, säkert och sekretessfokuserat sätt att skicka e-post från dina applikationer och e-postklienter. Med vårt intelligenta kösystem, mekanism för 5-dagars försök och omfattande leveransstatusmeddelanden kan du vara säker på att dina e-postmeddelanden når sin destination.

För mer avancerade användningsfall eller anpassade integrationer, vänligen kontakta vårt supportteam.