İçeriğe geç

E-posta

Uygulamanızdan işlemsel e-postalar gönderin. Gönderen kimliklerini yönetin ve teslimatları uygulamanızın Admin > Email bölümünden takip edin.

Her Proyecta uygulaması işlemsel e-posta gönderebilir. Bir gönderen kimliği doğrulayın, ardından uygulama kodunuzdan gönderin — ayrı bir e-posta sağlayıcısı hesabına gerek yoktur.

Builder’da Admin > Email bölümünü açın — ya da yayımlanmış sitenizde /admin adresine gidin. İki kısımdan oluşur:

Kısım Ne işe yarar
Identities Gönderen e-posta adresleri veya domain’ler ekleyin ve doğrulayın
Sent Teslimat durumuyla birlikte gönderilen e-postaları inceleyin (sent, delivered, bounced, vb.)

Kod yazmadan yeni bir gönderen kimliği ekleyebilir ve e-posta teslimat geçmişinizi görüntüleyebilirsiniz.

  1. Yönetici panelinizde bir gönderen kimliği oluşturun ve doğrulayın (bir e-posta adresi veya domain)
  2. Gönderin — uygulamanızdan useSendEmail() ile ya da kampanyalar için yönetici panelinden

Paylaşılan bir adresten gönderin (@proyectamail.com)

Bölüm başlığı “Paylaşılan bir adresten gönderin (@proyectamail.com)”

En kolay yol, Proyecta’nın paylaşılan gönderim domain’i olan @proyectamail.com üzerinde tek bir adres talep etmektir. Oluşturduğunuz anda doğrulanır — platform bu domain’e zaten sahip olduğundan ayarlamanız gereken herhangi bir DNS kaydı yoktur.

Bunu uygulamanızın yönetici panelindeki Emails bölümünde yaparsınız: istediğiniz adresi girin, hemen kullanıma hazır olur.

Tek adresler yalnızca @proyectamail.com üzerinde çalışır. Başka bir domain için (örn. hello@myapp.com) talep edilmesi reddedilir — kendi domain’inizden göndermek için domain’in tamamını doğrulamanız gerekir (aşağıya bakın). Her paylaşılan adres global olarak rezerve edilir; bu nedenle iki farklı uygulama aynı @proyectamail.com gönderenini kullanamaz.

Kendi domain’inizden — o domain’deki herhangi bir adresten (hello@, support@, noreply@, vb.) — göndermek için tüm domain’i doğrulamanız gerekir. Paylaşılan @proyectamail.com adresinin aksine, özel bir domain anında doğrulanmaz.

Domain’i aynı Emails bölümüne ekleyin. E-posta sağlayıcısına kaydolur ve DNS’inize eklemeniz gereken SPF, DKIM ve DMARC kayıtlarını size gösterir. Kayıtlar yayılana ve sağlayıcı bunları onaylayana kadar gönderen pending durumunda kalır, ardından verified olarak güncellenir — kayıtları yayımladıktan sonra yeniden kontrol butonunu kullanın.

DNS tabanlı domain doğrulama tamamen uygulanmıştır — kayıtlar sağlayıcı tarafından oluşturulur ve her yeniden kontrol, durumlarını yeniden sorgular.

Arka planda neler oluyor: Proyecta, gönderim domain’inizi doğrular ve mesajlarınızı Amazon SES üzerinden iletir. Amazon SES’te hesap yönetmenize gerek kalmaz.

Uygulamanızın sayfalarından useSendEmail() hook’u ile gönderim yaparsınız. Bir şablon seçer ve değişkenler iletirsiniz; platform mesajı uygulamanın dilinde render eder ve gönderir:

import { useSendEmail } from '@/hooks/useEmail.ts';
function ConfirmButton({ booking }) {
const { send, isPending, error } = useSendEmail();
return (
<button
disabled={isPending}
onClick={() =>
send({
template: 'booking_confirmation',
variables: { date: booking.date, service: booking.service },
})
}
>
Email me the details
</button>
);
}

İletmediğiniz şeylere dikkat edin: alıcı, konu veya HTML. Her şablon kendi hedef kitlesini bildirir:

  • self (rezervasyon/sipariş onayları, hoş geldiniz) → oturumu açık kullanıcının kendi adresi, oturumundan alınır.
  • owner (owner_alert) → uygulamanızın yöneticileri.

Her ikisi de açık bir oturum gerektirir. Bu kasıtlı bir tercihtir, bir eksiklik değil: çağrıyı doğrulayan yayımlanabilir anahtar, sayfa kaynağınızda yer alır; dolayısıyla keyfi alıcıya gönderim yapılabilseydi herkes uygulamanızı spam rölesi olarak kullanabilirdi. Anonim bir ziyaretçiden kendinizi bilgilendirmek için bir form kullanın — form gönderimleri, sahibine otomatik olarak e-posta gönderir ve gönderene onay verir; bu akış tarayıcıdan taklit edilemez.

Hatalar PlatformApiError olarak gelir: 401 (oturum gerekli), 403 (şablon bu uygulama için etkinleştirilmemiş), 429 (hız sınırı aşıldı — mesajı gösterin ve yeniden deneme seçeneği sunun), 422 (kayıtlı adres yok).

Yönetici panelinizdeki Sent sekmesi, uygulamanızın gönderdiği her şeyi en güncel teslimat olayıyla birlikte listeler — delivered, opened, clicked, bounced, complained — bu nedenle çoğunlukla bunun için kod yazmanıza gerek kalmaz.

Her kayıt durumunu taşır — sent, delivered, opened, clicked, bounced veya complained — ve gönderilen tam HTML ile metin içeriğini okumak için herhangi bir mesajı açabilirsiniz. Teslimatlar başarısız oluyorsa, bakılacak ilk yer burasıdır.

Bunları elle yazmanıza gerek yok:

  • "hello@myapp.com adresini gönderen kimliği olarak doğrula."
  • "Müşteriye rezervasyonu tamamladıktan sonra onay e-postası gönder."
  • "Başarılı bir ödeme sonrasında müşteriye makbuzunu gönder."
  • "Son 20 gönderilen e-postayı ve bounce olup olmadıklarını göster."
  • from adresi doğrulanmış bir kimlik olmalıdır. Doğrulanmamış bir adresle gönderim yapmak hata döndürür.
  • Proyecta planınıza bağlı olarak aylık limitler uygulanır.
  • Şablon editörü — builder’da işlemsel şablonları görsel olarak tasarlayın
  • Toplu/batch gönderim endpoint’i — kitlesel postalar için