# Mailto formu mu, form backend mi? Ne seçmeli

action="mailto:" olan bir form yalnızca ziyaretçinin e-posta uygulamasını açar ve mesajların bir kısmı hiç gönderilmez. Nasıl çalışır, yerine ne konur?

Author: Formgong team
Published: 2026-10-05
Updated: 2026-10-06
Language: tr
Canonical: https://formgong.com/tr/blog/mailto-form-vs-form-backend/

action="mailto:" olan bir form kendi başına hiçbir şey göndermez. Tarayıcı bir e-posta taslağı oluşturur ve ziyaretçinin e-posta uygulamasını açar. Uygulama kurulu değilse ya da ziyaretçi Gönder'e basmazsa size hiçbir şey gelmez. Üstelik iki taraf da bunu fark etmez. Mailto bağlantısı "Bize yazın" düğmesi olarak işe yarar. Gerçek bir iletişim formu için verileri bir form backend'ine ya da kendi sunucu betiğinize gönderin.

## Mailto formu aslında ne yapar?

Normal bir form alanları bir web adresine gönderir. Mailto formunun `action` özniteliğinde ise bir e-posta adresi vardır. HTML standardı tarayıcının bu durumda ne yaptığını tanımlar. Tarayıcı e-postayı sizin yerinize asla göndermez.

- `method="GET"` ile tarayıcı alanları yeni bir e-postanın konusuna ve başlıklarına dönüştürür.

- `method="POST"` ile alanlar e-postanın gövdesine yazılır. `enctype="text/plain"` varsa metin okunabilir. Yoksa adres çubuğundaki gibi kodlanmış gelir.

Her iki durumda da tarayıcı, taslakla birlikte ziyaretçinin e-posta uygulamasını açar. Ziyaretçinin o uygulamada ayrıca Gönder'e basması gerekir. Sayfanıza yanıt dönmez, bu yüzden mesajın gidip gitmediğini bilemez.

## Mailto formu neden mesaj kaybettirir?

Tıklamadan sonraki her adım ziyaretçinin cihazına bağlıdır. Mesajlar tam da orada kaybolur:

- **E-posta uygulaması yok.** Pek çok kişi e-postasını tarayıcı sekmesinde okur. Varsayılan uygulama ayarlı değilse tıklama hiçbir şey yapmayabilir. Ya da sistem bağlantıyı hangi uygulamayla açacağını sorar.

- **Gönder'e basılmadı.** Taslak açıldı, ama ziyaretçi kapattı, dikkati dağıldı ya da formun zaten gönderdiğini sandı.

- **Onay yok.** Sayfanız "Teşekkürler, mesajınızı aldık" diyemez, çünkü sonucu bilmez.

- **Kopya yok.** Hiçbir şey kaydedilmez, kaybolan mesaj tamamen gider.

- **Adresiniz açıkta.** E-posta adresiniz sayfa kodundadır ve spam botları onu oradan toplar.

- **Okunması zor metin.** `text/plain` olmadan gövde `name=Ayse&message=Merhaba%20` gibi gelir.

Ayrıca ziyaretçi kendi kişisel adresinden yazar. Herkes bu adresi henüz tanımadığı bir firmayla paylaşmak istemez.

## Mailto bağlantısı ne zaman yeterli?

Mailto bağlantısı ile mailto formu aynı şey değildir. Bağlantı dürüsttür: ziyaretçi "Bize e-posta gönderin"e tıklar ve e-posta uygulamasının açılmasını bekler. Formun yanında ikinci bir iletişim yolu olarak iyi çalışır.

Bağlantıyla konuyu ve gövdenin ilk satırını önceden doldurabilirsiniz. Biçim RFC 6068'de tanımlıdır. Türkçe karakterleri, boşlukları ve satır sonlarını kodlayın, yoksa bazı uygulamalar metni keser.

**Konu ve gövde içeren bir mailto bağlantısı**

```html
<!-- Türkçe karakterler, boşluklar ve satır sonları UTF-8 olarak kodlandı. -->
<a href="mailto:hello@example.com?subject=Proje%20hakk%C4%B1nda%20soru&body=Merhaba%2C%0D%0A%0D%0A%C5%9Fu%20konuda%20bilgi%20almak%20istiyorum%3A">
  Projeniz için bize yazın
</a>
```

## Mailto formunu çalışan bir formla değiştirin

Alanlarınız aynı kalır. İki şeyi değiştirirsiniz: `action` ve gizli bir anahtar. Form artık verileri bir form backend'ine gönderir. Backend mesajı saklar, size e-posta atar ve ziyaretçiye bir teşekkür sayfası gösterir. Hiçbir şey ziyaretçinin e-posta uygulamasına bağlı değildir.

Aşağıdaki örnek Formgong kullanır. `fk_your_access_key` yerine panelinizdeki anahtarı yazın. `_lang` alanı teşekkür sayfasının dilini, `_subject` ise bildirim e-postasının konusunu belirler. Gizli `botcheck` alanı basit botları yakalar. Adresiniz artık sayfa kodunda görünmez.

```html
<!-- Önce: <form action="mailto:you@example.com" method="POST" enctype="text/plain"> -->
<form action="https://formgong.com/submit" method="POST">
  <input type="hidden" name="access_key" value="fk_your_access_key">
  <input type="hidden" name="_lang" value="tr">
  <input type="hidden" name="_subject" value="Web sitesinden yeni mesaj">
  <label>Ad <input type="text" name="name" required autocomplete="name"></label>
  <label>E-posta <input type="email" name="email" required autocomplete="email"></label>
  <label>Mesaj <textarea name="message" required></textarea></label>
  <div aria-hidden="true" style="position:absolute;inset-inline-start:0;top:0;width:1px;height:1px;overflow:hidden;clip-path:inset(50%)">
    <input type="text" name="botcheck" tabindex="-1" autocomplete="off">
  </div>
  <button type="submit">Gönder</button>
</form>
```

## Form verilerini almanın diğer yolları

- **Form backend'i.** `action`'ı değiştirirsiniz, o kadar. Formgong, Formspree, Web3Forms ve diğerleri böyle çalışır. Limit ve özellik farklarını [form servisleri karşılaştırmasında](/tr/compare/) bulabilirsiniz.

- **Kendi betiğiniz.** Bir PHP dosyası ya da sunucusuz fonksiyon formu alır ve e-postayı gönderir. Her şey sizin kontrolünüzdedir, e-posta teslimi ve spam de öyle.

- **Barındırılan hazır form.** Google Forms ve benzerleri bir bağlantı ya da gömme kodu verir. Hızlıdır, ama sitenize değil onların ürününe benzer.

Eksiksiz bir formu adım adım [backend'siz HTML iletişim formu](/tr/blog/html-contact-form-without-backend/) yazımızda anlatıyoruz. Formgong'un tanıdığı tüm gizli alanlar [HTML belgelerinde](/tr/docs/html/) listelenir.

## Yayınlamadan önce formu kontrol edin

Formunuzun HTML kodunu [ücretsiz form denetleyicisine](/tr/tools/form-checker/) yapıştırın. Denetleyici, `mailto:` gibi web adresi olmayan bir `action`'ı hata olarak işaretler. Alan adlarını, yöntemi ve bal küpü alanını da kontrol eder.

Ardından yayındaki sayfadan, telefonda ve dizüstünde gerçek bir test mesajı gönderin. Mesajın geldiğinden ve ziyaretçinin net bir teşekkür sayfası gördüğünden emin olun.

## Sık sorulan sorular

### Mailto formu e-posta gönderir mi?

Hayır. Tarayıcı yalnızca ziyaretçinin e-posta uygulamasını bir taslakla açar. Mesaj ancak uygulama kuruluysa ve ziyaretçi orada Gönder'e basarsa gider.

### Mailto formu tıklayınca neden hiçbir şey yapmıyor?

Genellikle cihazda varsayılan bir e-posta uygulaması ayarlı değildir. Pek çok kişi e-postayı tarayıcıda kullanır ve tıklamanın gidecek yeri olmaz.

### Mailto formunda adresimi gizleyebilir miyim?

Hayır. Tarayıcının kullanabilmesi için adres sayfa kodunda olmalıdır, bu yüzden botlar da onu okur. Bir form backend'i adresinizi sayfadan kaldırır.

### Mailto bağlantısı SEO'ya zarar verir mi?

Hayır. Arama motorlarının yok saydığı sıradan bir bağlantıdır. Sorun sıralama değil, kaybolan mesajlardır.

## Kaynaklar ve belgeler

- [HTML Standard: form submission](https://html.spec.whatwg.org/multipage/form-control-infrastructure.html)
- [RFC 6068: The mailto URI scheme](https://datatracker.ietf.org/doc/html/rfc6068)
- [MDN: the form element](https://developer.mozilla.org/en-US/docs/Web/HTML/Reference/Elements/form)
- [HTML için Formgong](https://formgong.com/tr/docs/html/)

[Form anahtarı alın](https://formgong.com/tr/#top)
