Kirim formulir ke email Anda

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.

Preet SutharPendiri, Ikiform

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::

Formulir yang tampaknya berfungsi
<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:

Apa yang dilakukan formulir mailto: di perangkat pengunjungpengunjungmenekanSendhalaman tidakmengirim apapunadaaplikasiemail?aplikasidesktopatauhandlerdrafterbukadi aplikasi &akun merekamerekamenekanSend lagiatau menutupdraftidakterjadiapa-apaatau dimintapilih aplikasimailto:yamungkintidakApa yang dilakukan formulir mailto: di perangkat pengunjungpengunjungmenekan Sendhalaman tidak mengirimapa punada aplikasiemail?aplikasidesktop atauhandlerdraf terbukadi aplikasi & akunmerekamereka menekanSend lagiatau menutup draftidakterjadiapa-apaatau dimintapilihaplikasimailto:yamungkintidak
  1. Pengunjung menekan Send. Browser tidak mengirim formulir ke mana pun; ia menyerahkan link mailto: ke sistem operasi.
  2. 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.
  3. Jika ada, draf terbuka di aplikasi email milik pengunjung dengan field ditempel di badan pesan.
  4. Pengunjung harus menekan Send untuk kedua kalinya, dari akun mereka sendiri. Banyak yang malah menutup drafnya, dan Anda tidak pernah tahu mereka sempat mencoba.
Setiap langkah setelah yang pertama terjadi di perangkat pengunjung, jadi Anda tidak bisa melihat di mana orang berhenti.

Saat pesan berhasil sampai, badannya berupa baris name=value mentah, karena itulah hasil encoding text/plain:

Yang sampai
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:

JalurYang dibutuhkanKendala
SMTP Gmail dengan app passwordServer yang menjalankan kode, dan Verifikasi 2 Langkah di akun GooglePassword 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 MailAppSkrip yang di-deploy sebagai web appAkun pribadi bisa mengirim email ke 100 penerima per hari dari skrip. URL-nya publik tanpa perlindungan spam, jadi satu bot bisa menghabiskannya
Form backendURL backend di actionEmail 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:

contact.html
<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>
  1. Buat formulir di Ikiform dan ganti frm_xxxxxxxxxxxxxxxx dengan ID-nya.
  2. 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.
  3. Buka email konfirmasi di Gmail dan konfirmasikan. Sebelum itu, alamatnya berstatus Waiting for confirmation dan tidak menerima apa pun.
  4. 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:

mailFilters.xml
<?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").

Gmail mengabaikan titik dan apa pun setelah tanda plus di bagian sebelum @. Menambahkan 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

  1. Isi formulir di halaman Anda lalu kirim. Anda mendarat di halaman terima kasih Anda, atau halaman hosted milik Ikiform.
  2. Temukan email di Gmail. Email itu punya label Anda dan tidak ada di Spam atau Promotions.
  3. Tekan Reply. Baris To berisi alamat yang diketik di formulir.
  4. Kirim dengan honeypot terisi, _gotcha=bot. Kiriman tetap mendapat jawaban sukses, tetapi disimpan sebagai spam dan tidak memicu email atau webhook.
  5. 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 hanya mailto: sebagai action formulir.

Pertanyaan

Mentok di salah satu langkah, atau ingin panduan untuk situasi Anda? Email hello@ikiform.com.