Kirim formulir ke email Anda6 menit baca
Kirim formulir website ke Gmail (dan mengapa mailto: gagal)
Terima kiriman formulir di Gmail tanpa link mailto:, app password, atau Apps Script, lalu beri label, jauhkan dari spam, dan balas dari Gmail.
Kirim formulir ke form backend dan tambahkan alamat Gmail Anda sebagai penerima; jangan pakai action mailto:, yang hanya membuka aplikasi email pengunjung. Lalu tambahkan filter Gmail untuk pengirimnya agar kiriman tidak masuk spam dan mendapat label sendiri. Menekan Reply di Gmail akan membalas ke pengunjung, dari alamat Anda sendiri.
Apa yang berbeda di sini
Gmail adalah kotak surat, bukan layanan pengiriman untuk situs Anda. Gmail tidak punya URL yang bisa dituju formulir, jadi setiap jalur ke Gmail melewati sesuatu yang lain. Hal pertama yang dicoba kebanyakan orang adalah mailto::
<form action="mailto:you@gmail.com" method="post" enctype="text/plain">
<input name="name" />
<input name="email" type="email" />
<textarea name="message"></textarea>
<button>Send</button>
</form>Memang berfungsi, di komputer Anda. Anda menekan Send, aplikasi email terbuka dengan field di badan pesan, dan Anda mengirimnya ke diri sendiri. Pengalaman pengunjung berbeda:
- Pengunjung menekan Send. Browser tidak mengirim formulir ke mana pun; ia menyerahkan link mailto: ke sistem operasi.
- Jika tidak ada aplikasi email atau web handler yang disiapkan, yang umum di laptop kantor dan bagi pengguna Gmail di browser, tidak ada yang terjadi atau sistem menanyakan aplikasi mana yang dipakai.
- Jika ada, draf terbuka di aplikasi email milik pengunjung dengan field ditempel di badan pesan.
- Pengunjung harus menekan Send untuk kedua kalinya, dari akun mereka sendiri. Banyak yang malah menutup drafnya, dan Anda tidak pernah tahu mereka sempat mencoba.
Saat pesan berhasil sampai, badannya berupa baris name=value mentah, karena itulah hasil encoding text/plain:
name=Ada Lovelace
email=ada@example.com
message=Hi, do you take on small bathroom jobs in March?Jalur lain ke Gmail berfungsi, tetapi masing-masing butuh server yang Anda jalankan:
| Jalur | Yang dibutuhkan | Kendala |
|---|---|---|
| SMTP Gmail dengan app password | Server yang menjalankan kode, dan Verifikasi 2 Langkah di akun Google | Password itu bisa mengirim atas nama Anda dari mana saja, jadi tidak boleh sampai ke browser. Google juga membatasi berapa banyak yang bisa dikirim akun pribadi per hari |
Google Apps Script dengan MailApp | Skrip yang di-deploy sebagai web app | Akun pribadi bisa mengirim email ke 100 penerima per hari dari skrip. URL-nya publik tanpa perlindungan spam, jadi satu bot bisa menghabiskannya |
| Form backend | URL backend di action | Email datang dari alamat layanan, bukan alamat Anda. Reply-to memperbaiki bagian yang penting |
Apps Script layak dilihat lebih dekat, karena jalur inilah yang disarankan kebanyakan tutorial. Anda menulis fungsi doPost, men-deploy-nya sebagai web app yang bisa dipanggil siapa saja, lalu mengarahkan formulir ke URL-nya. Itu berfungsi, tetapi kiriman formulir biasa membuat pengunjung berakhir di halaman yang disajikan dari domain Google, bukan domain Anda, setiap bot yang menemukan URL-nya bisa menghabiskan kuota harian, dan skrip berjalan atas nama Anda, jadi bug di dalamnya bisa mengirim email ke siapa saja dari akun Anda. Anda juga harus mengurus setiap perubahan field formulir sejak saat itu.
Kirim formulir ke Gmail
Ini formulir untuk usaha jasa kecil. Field job membuat inbox mudah dipindai, dan email diberi nama begitu agar balasan terkirim ke pengunjung:
<form action="https://ikiform.com/f/frm_xxxxxxxxxxxxxxxx" method="post">
<label for="name">Your name</label>
<input id="name" name="name" autocomplete="name" required />
<label for="email">Email for our reply</label>
<input id="email" name="email" type="email" autocomplete="email" required />
<label for="job">What do you need?</label>
<select id="job" name="job" required>
<option value="">Choose one</option>
<option value="repair">A repair</option>
<option value="quote">A quote for a new job</option>
<option value="other">Something else</option>
</select>
<label for="message">Details</label>
<textarea id="message" name="message" rows="5" required></textarea>
<input name="_gotcha" type="text" tabindex="-1" autocomplete="off" hidden />
<button>Send to our inbox</button>
</form>- Buat formulir di Ikiform dan ganti
frm_xxxxxxxxxxxxxxxxdengan ID-nya. - Jika Anda mendaftar dengan alamat Gmail, Anda sudah menerima emailnya sebagai owner workspace. Jika tidak, buka pengaturan Notifications formulir, masukkan alamat Gmail di Add someone outside the workspace, lalu tekan Send link.
- Buka email konfirmasi di Gmail dan konfirmasikan. Sebelum itu, alamatnya berstatus Waiting for confirmation dan tidak menerima apa pun.
- Tambahkan domain Anda di Allowed domains formulir, publikasikan halamannya, lalu kirim uji coba.
Jauhkan dari spam dengan filter Gmail
Email pertama dari pengirim baru bisa masuk ke Spam atau Promotions. Filter untuk pengirimnya memperbaiki itu untuk seterusnya. Di Gmail, buka opsi pencarian, isi notifications@ikiform.com di From, tekan Create filter, lalu centang Never send it to Spam, Apply the label, Always mark it as important, dan Categorize as: Primary, yang menjauhkannya dari Promotions.
Atau impor filternya. Ini format yang ditulis fitur Export filter milik Gmail sendiri; Google tidak mendokumentasikannya secara terpisah, jadi jika impor gagal, buat filter secara manual seperti di atas. Simpan sebagai mailFilters.xml, lalu buka Settings, See all settings, Filters and Blocked Addresses, Import filters:
<?xml version="1.0" encoding="UTF-8"?>
<feed xmlns="http://www.w3.org/2005/Atom" xmlns:apps="http://schemas.google.com/apps/2006">
<title>Mail Filters</title>
<entry>
<category term="filter"></category>
<title>Mail Filter</title>
<content></content>
<apps:property name="from" value="notifications@ikiform.com"/>
<apps:property name="label" value="Website"/>
<apps:property name="shouldNeverSpam" value="true"/>
<apps:property name="shouldAlwaysMarkAsImportant" value="true"/>
<apps:property name="smartLabelToApply" value="^smartlabel_personal"/>
</entry>
</feed>Buat label Website terlebih dulu, atau ganti namanya di file. Satu filter mencakup semua formulir, karena semua notifikasi datang dari alamat yang sama. Untuk memisahkan formulir ke label berbeda, filter berdasarkan subjek, seperti subject:("New submission: Quote request").
you+site@gmail.com sebagai penerima tetap mengirim ke inbox biasa Anda, dan filter pada To lalu bisa membedakan email dari situs dengan yang lain. Alamat ini dihitung sebagai alamat luar, jadi dikonfirmasi lewat link seperti alamat lainnya.Membalas dari Gmail
Gmail mematuhi header reply-to, jadi Reply ditujukan ke pengunjung. Jawaban Anda dikirim dari alamat Gmail Anda, tanpa Ikiform di dalam percakapan.
- Untuk membalas dari alamat bisnis Anda, tambahkan alamat itu di Settings, Accounts and Import, Send mail as, lalu pilih di baris From saat membalas.
- Gmail mungkin mengelompokkan notifikasi dengan subjek sama ke dalam satu percakapan, karena subjeknya selalu
New submission:diikuti nama formulir. Matikan Conversation view di pengaturan Gmail jika Anda lebih suka satu baris per pesan. - Ringkasan per jam tidak punya reply-to, karena mencakup banyak pengunjung. Balas pesan-pesan itu lewat link di dashboard.
Pastikan berfungsi
- Isi formulir di halaman Anda lalu kirim. Anda mendarat di halaman terima kasih Anda, atau halaman hosted milik Ikiform.
- Temukan email di Gmail. Email itu punya label Anda dan tidak ada di Spam atau Promotions.
- Tekan Reply. Baris To berisi alamat yang diketik di formulir.
- Kirim dengan honeypot terisi,
_gotcha=bot. Kiriman tetap mendapat jawaban sukses, tetapi disimpan sebagai spam dan tidak memicu email atau webhook. - Tidak ada yang masuk? Ubah filter status di dashboard ke Spam. Spam mendapat jawaban sukses yang sama dengan kiriman asli.
Hal yang sering menjebak
- Alias Google Workspace. Jika penerimanya alias atau Google Group, pengaturan grup itu sendiri yang menentukan apakah pengirim dari luar diizinkan. Kirim uji coba sebelum mengandalkannya.
- Konfirmasi masuk spam. Email berisi link konfirmasi juga datang dari Ikiform. Jika tidak muncul, cek Spam dan tandai sebagai bukan spam.
- Beberapa alamat Gmail. Setiap formulir mengirim email ke total maksimal 10 alamat, dan setiap alamat luar dikonfirmasi terpisah.
- Link mailto: lama di tempat lain. Link
mailto:di footer tidak masalah sebagai link. Masalahnya hanyamailto:sebagaiactionformulir.
Pertanyaan
Bisa. Alamat Workspace berfungsi seperti penerima lainnya. Jika berupa Google Group atau alias, pastikan grup itu menerima email dari pengirim luar, lalu kirim uji coba.
Action mailto: tidak pernah mengirim. Ia meminta perangkat pengunjung membuka aplikasi email dengan draf. Jika tidak ada yang disiapkan, tidak ada yang terjadi, dan jika ada, pengunjung tetap harus menekan Send di aplikasi itu.
Hanya dari server yang Anda jalankan, dengan app password di akun yang memakai Verifikasi 2 Langkah. Jangan pernah menaruh password itu di kode browser; password itu bisa mengirim email atas nama Anda.
Buat filter Gmail untuk email dari notifications@ikiform.com dan centang Never send it to Spam. Terapkan label sekaligus, agar pesan formulir mudah ditemukan.
Bisa, jika field email formulir bernama email, email_address, your_email, reply_to, contact_email, atau formulir mengirim field _replyto. Gmail lalu menaruh pengunjung di baris To saat Anda menekan Reply.
Mentok di salah satu langkah, atau ingin panduan untuk situasi Anda? Email hello@ikiform.com.