berkmenoo 1
berkmenoo
mavzermete 1
mavzermete
Mt2Hizmet 1
Mt2Hizmet
xranzei 1
xranzei
Hikaye Ekle

Altın Konu Geliştirici Aracları: Resend API ile E-posta Yönetimi

HERAKLES Otomatik Avlı kalıcı sunucu. 19 Haziran'da açılıyor. Atius & Wizard güvencesiyle hemen kayıt ol, ön kayıt ödülleri aktif. HEMEN TIKLA!

Yeniden Gönderme Özelliğiyle E-posta Gönderimi:


Node.js ve PHP RehberiResend, geliştirici dostu API'si ve yüksek teslimat oranlarıyla e-posta gönderimini bir üst seviyeye taşıyor. Projelerimize entegre etmek için ihtiyacımız olan kod:

Bu işleme başlamadan önce resend Dashboard üzerinden bir API Key almamız gerekiyor.

1775593707041.png


1- Node.Js İle Kullanım Nasıl Yapılır İlk adım olarak anlatımını yapalım arkadaşlar.

Node.js projelerinde resmi Resend SDK'sını kullanmak en temiz yoldur.

Kütüphaneyi Yüklemek İçin:

[CODE title="Bash"]npm install resend[/CODE]

Kod Örneği

[CODE lang="javascript" title="JavaScript"]import { Resend } from 'resend';

const resend = new Resend('re_senin_api_anahtarin');

async function sendEmail() {
try {
const data = await resend.emails.send({
from: 'Onboarding <onboarding@resend.dev>', // Kendi domaininizi eklediğinizde onu kullanın
to: ['alici@example.com'],
subject: 'Merhaba Dünya!',
html: '<strong>Resend Node.js üzerinden başarıyla gönderildi!</strong>',
});

console.log('E-posta gönderildi:', data);
} catch (error) {
console.error('Hata:', error);
}
}

sendEmail();[/CODE]

2- PHP İle Kullanım

PHP'de Resend'in resmi SDK'sını veya doğrudan curl yöntemini kullanabilirsiniz.

SDK ile (Tavsiye Edilen)​

Kütüphaneyi Yükleyin:

[CODE title="Bash"]composer require resend/resend-php[/CODE]

Kod Örneği:


[CODE lang="php" title="PHP"]<?php
require __DIR__ . '/vendor/autoload.php';

$resend = Resend::client('re_senin_api_anahtarin');

try {
$resend->emails->send([
'from' => 'onboarding@resend.dev',
'to' => 'alici@example.com',
'subject' => 'PHP SDK Testi',
'html' => '<strong>PHP SDK ile gönderim başarılı!</strong>',
]);
echo "E-posta alıcıya ulaştı.";
} catch (Exception $e) {
echo 'Hata: ' . $e->getMessage();
}[/CODE]

Düz PHP (Curl ile SDK'sız)​

Eğer projenizde Composer yoksa bu yöntemi kullanabilirsiniz:

[CODE lang="php" title="PHP"]<?php
$apiKey = 're_senin_api_anahtarin';

$ch = curl_init();

curl_setopt($ch, CURLOPT_URL, 'https://api.resend.com/emails');
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($ch, CURLOPT_POST, 1);
curl_setopt($ch, CURLOPT_POSTFIELDS, json_encode([
'from' => 'onboarding@resend.dev',
'to' => 'alici@example.com',
'subject' => 'PHP Curl Testi',
'html' => '<strong>SDK kullanmadan gönderildi!</strong>'
]));

$headers = [
'Authorization: Bearer ' . $apiKey,
'Content-Type: application/json'
];
curl_setopt($ch, CURLOPT_HTTPHEADER, $headers);

$result = curl_exec($ch);
curl_close($ch);

print_r($result);[/CODE]

E-posta Durumlarını Takip Etme

Resend üzerinden gönderilen e-postaların takibini alt kısımda belirttiğim olaylarla takip edebiliriz arkadaşlar.

Sent: Başarıyla gönderildi.
Delivered: Alıcının sunucusuna ulaştı.
Bounced: Alıcı sunucu e-postayı reddetti (Yanlış adres vb.).
Opened: Alıcı e-postayı açtı.
Clicked: E-posta içindeki bir linke tıklandı.

E-Postaya Resim Ekleme (Gömme)

E-postalarınızda görselleri iki farklı yöntemle kullanabilirsiniz:

Yöntem A: Harici URL Kullanmak (En Pratik Yol)​

Resminiz internette bir sunucuda veya hızlı resim servisinde yüklü ise, doğrudan <img> etiketiyle çağırabilirsiniz.

Node.js Örneği:

[CODE lang="javascript" title="JavaScript"]resend.emails.send({
from: 'onboarding@resend.dev',
to: 'alici@example.com',
subject: 'Görsel İçeren E-posta',
html: '<p>İşte harika bir resim:</p><img src="https://resend.com/static/logo.png" alt="Logo" width="200">',
});[/CODE]

Yöntem B: Content ID (CID) ile Resim Gömmek​

Resmi bir dosya olarak ekleyip (attachment), e-postanın gövdesine gömebilirsiniz. Bu yöntem, resmin alıcıda "resimleri göster" demeden açılma şansını artırır.

Node.js ile CID Kullanımı:

[CODE lang="javascript" title="JavaScript"]resend.emails.send({
from: 'onboarding@resend.dev',
to: 'alici@example.com',
subject: 'Gömülü Resim Testi',
// HTML içinde "cid:dosya_adi" şeklinde çağırıyoruz
html: '<p>Merhaba, bu bir gömülü resimdir:</p><img src="cid:profil_resmi">',
attachments: [
{
filename: 'profil.png',
content: buffer_veya_base64_verisi, // Resmin verisi
cid: 'profil_resmi', // HTML içindeki src ile eşleşmeli
},
],
});[/CODE]

PHP SDK ile CID Kullanımı:

[CODE lang="php" title="PHP"]$resend->emails->send([
'from' => 'onboarding@resend.dev',
'to' => 'alici@example.com',
'subject' => 'PHP CID Testi',
'html' => '<html><body><img src="cid:logo_id"></body></html>',
'attachments' => [
[
'content' => base64_encode(file_get_contents('logo.png')),
'filename' => 'logo.png',
'cid' => 'logo_id',
],
],
]);[/CODE]

Resend, gönderdiğiniz her e-postayı Dashboard üzerinde 48 saat boyunca görüntülenebilir bir link olarak saklar. Eğer e-postadaki bir görselin düzgün görünüp görünmediğini test etmek isterseniz, Dashboard'daki "Share email" özelliğini kullanarak önizleme yapabilirsiniz.​
 

Şu an konuyu görüntüleyenler (Toplam : 0, Üye: 0, Misafir: 0)

Geri
Üst