דוגמאות לשילוב SMTP

מדריך זה מספק דוגמאות מפורטות כיצד להשתלב עם שירות ה-SMTP של Forward Email באמצעות שפות תכנות שונות, מסגרות ולקוחות דוא"ל. שירות ה-SMTP שלנו נועד להיות אמין, מאובטח וקל לשילוב עם היישומים הקיימים שלך.

לפני שצולל לתוך דוגמאות האינטגרציה, חשוב להבין כיצד שירות ה-SMTP שלנו מעבד מיילים:

תור דוא"ל ומערכת נסה שוב

כאשר אתה שולח דוא"ל באמצעות SMTP לשרתים שלנו:

  1. עיבוד ראשוני: האימייל מאומת, נסרק לאיתור תוכנות זדוניות ונבדק כנגד מסנני דואר זבל
  2. תור חכם: מיילים ממוקמים במערכת תורים מתוחכמת למשלוח
  3. מנגנון ניסיון חוזר אינטליגנטי: אם המשלוח נכשל באופן זמני, המערכת שלנו:
    • נתח את תגובת השגיאה באמצעות שלנו getBounceInfo פוּנקצִיָה
    • קבע אם הבעיה היא זמנית (לדוגמה, "נסה שוב מאוחר יותר", "נדחה זמנית") או קבועה (לדוגמה, "משתמש לא ידוע")
    • לבעיות זמניות, סמן את האימייל לניסיון חוזר
    • לבעיות קבועות, צור הודעת הקפצה
  4. תקופת ניסיון חוזרת של 5 ימים: אנו מנסים לשלוח שוב עד 5 ימים (בדומה לתקנים בתעשייה כמו Postfix), נותנים לבעיות זמניות זמן לפתור
  5. הודעות סטטוס משלוח: השולחים מקבלים התראות על סטטוס האימיילים שלהם (נמסרו, נדחו או חזרו)

[!פֶּתֶק] לאחר מסירה מוצלחת, תוכן דוא"ל SMTP יוצא נמחק לאחר תקופת שמירה הניתנת להגדרה (ברירת מחדל 30 יום) למען אבטחה ופרטיות. נותרה רק הודעת מציין מיקום המציינת מסירה מוצלחת.

מוגן דמה לאמינות

המערכת שלנו נועדה לטפל במקרים קצה שונים:

  • אם תזוהה רשימת חסימה, האימייל יתנסה מחדש באופן אוטומטי
  • אם מתרחשות בעיות ברשת, יתבצע ניסיון מסירה מחדש
  • אם תיבת הדואר של הנמען מלאה, המערכת תנסה שוב מאוחר יותר
  • אם השרת המקבל אינו זמין באופן זמני, נמשיך לנסות

גישה זו משפרת משמעותית את שיעורי האספקה תוך שמירה על פרטיות ואבטחה.

שימוש ב-Nodemailer

דואר הערות הוא מודול פופולרי לשליחת מיילים מיישומי 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();

שימוש ב-Express.js

כך ניתן לשלב SMTP של Forward Email עם יישום 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}); });

באמצעות 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}")

משתמש ב-Django

עבור יישומי Django, הוסף את הדברים הבאים שלך 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'

לאחר מכן שלח אימיילים בתצוגות שלך:

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

<?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

עבור יישומי Laravel, עדכן את .env קוֹבֶץ:

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

לאחר מכן שלח אימיילים באמצעות חזית הדואר של 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!';
}

}

שימוש 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!"

שימוש ב-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. פתח את Thunderbird ועבור להגדרות חשבון
  2. לחץ על "פעולות חשבון" ובחר "הוסף חשבון דואר"
  3. הזן את שמך, כתובת הדוא"ל והסיסמה שלך
  4. לחץ על "תצורה ידנית" והזן את הפרטים הבאים:
    • שרת נכנס:
      • IMAP: imap.forwardemail.net, יציאה: 993, SSL/TLS
      • POP3: pop3.forwardemail.net, יציאה: 995, SSL/TLS
    • שרת יוצא (SMTP): smtp.forwardemail.net, יציאה: 465, SSL/TLS
    • אימות: סיסמה רגילה
    • שם משתמש: כתובת הדוא"ל המלאה שלך
  5. לחץ על "בדיקה" ולאחר מכן על "סיום"

אפל מייל

  1. פתח את הדואר ועבור אל דואר > העדפות > חשבונות
  2. לחץ על הלחצן "+" כדי להוסיף חשבון חדש
  3. בחר "חשבון דואר אחר" ולחץ על "המשך"
  4. הזן את שמך, כתובת הדוא"ל והסיסמה שלך ולאחר מכן לחץ על "כניסה"
  5. כאשר ההגדרה האוטומטית נכשלת, הזן את הפרטים הבאים:
    • שרת דואר נכנס: imap.forwardemail.net (או pop3.forwardemail.net עבור POP3)
    • שרת דואר יוצא: smtp.forwardemail.net
    • שם משתמש: כתובת הדוא"ל המלאה שלך
    • סיסמה: הסיסמה שלך
  6. לחץ על "כניסה" כדי להשלים את ההגדרה

Gmail (שלח דואר בשם)

  1. פתח את Gmail ועבור אל הגדרות > חשבונות וייבוא
  2. תחת "שלח דואר בשם", לחץ על "הוסף כתובת דוא"ל נוספת"
  3. הזן את שמך וכתובת הדוא"ל שלך ולאחר מכן לחץ על "השלב הבא"
  4. הזן את פרטי שרת ה-SMTP הבאים:
    • שרת SMTP: smtp.forwardemail.net
    • נמל: 465
    • שם משתמש: כתובת הדוא"ל המלאה שלך
    • סיסמה: הסיסמה שלך
    • בחר "חיבור מאובטח באמצעות SSL"
  5. לחץ על "הוסף חשבון" ואמת את כתובת הדוא"ל שלך

בעיות נפוצות ופתרונות

  1. האימות נכשל

    • אמת את שם המשתמש (כתובת האימייל המלאה) והסיסמה שלך
    • ודא שאתה משתמש ביציאה הנכונה (465 עבור SSL/TLS)
    • בדוק אם לחשבון שלך יש גישת SMTP מופעלת
  2. פסק זמן לחיבור

    • בדוק את חיבור האינטרנט שלך
    • ודא שהגדרות חומת האש אינן חוסמות תעבורת SMTP
    • נסה להשתמש ביציאה אחרת (587 עם STARTTLS)
  3. ההודעה נדחתה

    • ודא שכתובת "מאת" שלך תואמת את הדוא"ל המאומת שלך
    • בדוק אם ה-IP שלך נמצא ברשימה השחורה
    • ודא שתוכן ההודעה שלך אינו מפעיל מסנני דואר זבל
  4. שגיאות TLS/SSL

    • עדכן את היישום/ספרייה שלך כדי לתמוך בגרסאות TLS מודרניות
    • ודא שאישורי ה-CA של המערכת שלך מעודכנים
    • נסה TLS מפורש במקום TLS מרומז

קבלת עזרה

אם אתה נתקל בבעיות שאינן מכוסות כאן, בבקשה:

  1. בדוק שלנו דף שאלות נפוצות לשאלות נפוצות
  2. בדוק שלנו פוסט בבלוג על משלוח דואר אלקטרוני למידע מפורט
  3. צור קשר עם צוות התמיכה שלנו בכתובת support@forwardemail.net

שירות ה-SMTP של Forward Email מספק דרך אמינה, מאובטחת וממוקדת פרטיות לשלוח מיילים מהאפליקציות ומלקוחות הדוא"ל שלך. עם מערכת התורים החכמה שלנו, מנגנון ניסיון חוזר של 5 ימים והודעות סטטוס מסירה מקיפות, אתה יכול להיות בטוח שהמיילים שלך יגיעו ליעדם.

למקרי שימוש מתקדמים יותר או אינטגרציות מותאמות אישית, אנא צור קשר עם צוות התמיכה שלנו.