SMTP Entegrasyon Örnekleri

Bu kılavuz, çeşitli programlama dilleri, çerçeveler ve e-posta istemcileri kullanarak Forward Email'in SMTP hizmetiyle nasıl entegre olunacağına dair ayrıntılı örnekler sunar. SMTP hizmetimiz, güvenilir, güvenli ve mevcut uygulamalarınızla entegre edilmesi kolay olacak şekilde tasarlanmıştır.

Entegrasyon örneklerine dalmadan önce, SMTP hizmetimizin e-postaları nasıl işlediğini anlamak önemlidir:

E-posta Kuyruğu ve Yeniden Deneme Sistemi

SMTP yoluyla sunucularımıza bir e-posta gönderdiğinizde:

  1. İlk İşleme: E-posta doğrulandı, kötü amaçlı yazılımlara karşı tarandı ve spam filtrelerine karşı kontrol edildi
  2. Akıllı Sıraya Alma: E-postalar teslim edilmek üzere gelişmiş bir kuyruk sistemine yerleştirilir
  3. Akıllı Yeniden Deneme Mekanizması: Teslimat geçici olarak başarısız olursa, sistemimiz:
    • Hata yanıtını bizimkini kullanarak analiz edin getBounceInfo işlev
    • Sorunun geçici (örneğin, "daha sonra tekrar deneyin", "geçici olarak ertelendi") veya kalıcı (örneğin, "kullanıcı bilinmiyor") olup olmadığını belirleyin
    • Geçici sorunlar için e-postayı yeniden deneme için işaretleyin
    • Kalıcı sorunlar için bir geri bildirim oluşturun
  4. 5 Günlük Yeniden Deneme Süresi: 5 güne kadar teslimatı tekrar deniyoruz (Postfix gibi endüstri standartlarına benzer şekilde), geçici sorunların çözülmesi için zaman veriyoruz
  5. Teslimat Durumu Bildirimleri:Gönderenler e-postalarının durumuyla ilgili bildirimler alır (teslim edildi, gecikti veya geri döndü)

[!NOTE] Başarılı teslimattan sonra, giden SMTP e-posta içeriği güvenlik ve gizlilik için yapılandırılabilir bir saklama süresinden (varsayılan 30 gün) sonra sansürlenir. Yalnızca başarılı teslimatı belirten bir yer tutucu mesaj kalır.

Güvenilirlik için Aptallara Karşı Koruma Sağlandı

Sistemimiz çeşitli uç durumları ele alacak şekilde tasarlanmıştır:

  • Bir engelleme listesi algılanırsa, e-posta otomatik olarak yeniden denenecektir
  • Ağ sorunları oluşursa teslimat yeniden denenecektir
  • Alıcının posta kutusu doluysa sistem daha sonra tekrar deneyecektir
  • Alıcı sunucu geçici olarak kullanılamıyorsa, denemeye devam edeceğiz

Bu yaklaşım, gizliliği ve güvenliği koruyarak teslimat oranlarını önemli ölçüde iyileştirir.

Nodemailer'ı Kullanma

Not postacısı Node.js uygulamalarından e-posta göndermek için popüler bir modüldür.

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 kullanımı

Forward Email SMTP'yi bir Express.js uygulamasıyla nasıl entegre edebileceğinizi öğrenin:

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'i kullanma

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'yu Kullanma

Django uygulamaları için aşağıdakileri ekleyin: 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'

Daha sonra görünümlerinize göre e-postalar gönderin:

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'ı Kullanma

<?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 Kullanımı

Laravel uygulamaları için, şunu güncelleyin: .env dosya:

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

Daha sonra Laravel'in Mail arayüzünü kullanarak e-postalar gönderin:

<?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'i Kullanma

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 Mail API'sini kullanma

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

}

yıldırım kuşu

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'ü açın ve Hesap Ayarları'na gidin
  2. "Hesap Eylemleri"ne tıklayın ve "Posta Hesabı Ekle"yi seçin
  3. Adınızı, e-posta adresinizi ve şifrenizi girin
  4. "Manuel Yapılandırma"ya tıklayın ve aşağıdaki bilgileri girin:
    • Gelen Sunucusu:
      • IMAP: imap.forwardemail.net, Bağlantı Noktası: 993, SSL/TLS
      • POP3: pop3.forwardemail.net, Bağlantı Noktası: 995, SSL/TLS
    • Giden Sunucu (SMTP): smtp.forwardemail.net, Port: 465, SSL/TLS
    • Kimlik doğrulama: Normal Parola
    • Kullanıcı adı: tam e-posta adresiniz
  5. "Test"e ve ardından "Bitti"ye tıklayın

elma postası

  1. Postayı açın ve Posta > Tercihler > Hesaplar'a gidin
  2. Yeni bir hesap eklemek için "+" düğmesine tıklayın
  3. "Diğer Posta Hesabı"nı seçin ve "Devam"a tıklayın
  4. Adınızı, e-posta adresinizi ve şifrenizi girin, ardından "Oturum Aç"a tıklayın
  5. Otomatik kurulum başarısız olursa, aşağıdaki bilgileri girin:
    • Gelen Posta Sunucusu: imap.forwardemail.net (veya POP3 için pop3.forwardemail.net)
    • Giden Posta Sunucusu: smtp.forwardemail.net
    • Kullanıcı adı: tam e-posta adresiniz
    • Şifre: şifreniz
  6. Kurulumu tamamlamak için "Oturum Aç"a tıklayın

Gmail (Postaları Şu Şekilde Gönder)

  1. Gmail'i açın ve Ayarlar > Hesaplar ve İçe Aktarma'ya gidin
  2. "Postaları şu şekilde gönder" altında "Başka bir e-posta adresi ekle"ye tıklayın
  3. Adınızı ve e-posta adresinizi girin, ardından "Sonraki Adım"a tıklayın
  4. Aşağıdaki SMTP sunucusu ayrıntılarını girin:
    • SMTP Sunucusu: smtp.forwardemail.net
    • Liman: 465
    • Kullanıcı adı: tam e-posta adresiniz
    • Şifre: şifreniz
    • "SSL kullanarak güvenli bağlantı" seçeneğini seçin
  5. "Hesap Ekle"ye tıklayın ve e-posta adresinizi doğrulayın

Yaygın Sorunlar ve Çözümleri

  1. Kimlik doğrulama başarısız oldu

    • Kullanıcı adınızı (tam e-posta adresi) ve şifrenizi doğrulayın
    • Doğru portu kullandığınızdan emin olun (SSL/TLS için 465)
    • Hesabınızda SMTP erişiminin etkin olup olmadığını kontrol edin
  2. Bağlantı Zaman Aşımı

    • İnternet bağlantınızı kontrol edin
    • Güvenlik duvarı ayarlarının SMTP trafiğini engellemediğini doğrulayın
    • Farklı bir port kullanmayı deneyin (STARTTLS ile 587)
  3. Mesaj Reddedildi

    • "Kimden" adresinizin kimliği doğrulanmış e-postanızla eşleştiğinden emin olun
    • IP'nizin kara listede olup olmadığını kontrol edin
    • Mesajınızın içeriğinin spam filtrelerini tetiklemediğini doğrulayın
  4. TLS/SSL Hataları

    • Uygulamanızı/kütüphanenizi modern TLS sürümlerini destekleyecek şekilde güncelleyin
    • Sisteminizin CA sertifikalarının güncel olduğundan emin olun
    • Açık TLS'yi örtük TLS yerine deneyin

Yardım Alma

Burada ele alınmayan sorunlarla karşılaşırsanız lütfen:

  1. Bizim kontrol edin SSS sayfası sık sorulan sorular için
  2. İncelememiz e-posta teslimi hakkında blog yazısı detaylı bilgi için
  3. Destek ekibimizle iletişime geçin support@forwardemail.net

Forward Email'in SMTP hizmeti, uygulamalarınızdan ve e-posta istemcilerinizden e-posta göndermek için güvenilir, güvenli ve gizlilik odaklı bir yol sağlar. Akıllı kuyruk sistemimiz, 5 günlük yeniden deneme mekanizmamız ve kapsamlı teslimat durumu bildirimlerimizle e-postalarınızın hedeflerine ulaşacağından emin olabilirsiniz.

Daha gelişmiş kullanım durumları veya özel entegrasyonlar için lütfen destek ekibimizle iletişime geçin.