İç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 e-posta kimlik sağlayıcısıyla (Resend) doğrular ve mesajlarınızı işlemsel sağlayıcısı (SendGrid) üzerinden iletir. Her iki sağlayıcıda da 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