- Katılım
- 15 May 2013
- Konular
- 1,207
- Mesajlar
- 7,321
- Çözüm
- 6
- Online süresi
- 2mo 16d
- Reaksiyon Skoru
- 5,958
- Altın Konu
- 410
- Başarım Puanı
- 349
- MmoLira
- 45,963
- DevLira
- 3
ROHAN2 WORLD 1-120 TR TİPİ OFFICIAL YOHARA, BALATHOR VE AMON! 80. GÜNÜNDE! +10.000 ONLİNE! HİLE VE BOT %100 ENGELLİ 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.
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]
[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:
[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]
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
rofil_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.
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
rofil_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.










