Kebutuhan Anda sederhana; . Namun, mendapatkan hak ini tidak semudah kedengarannya. Artikel ini mencoba menjernihkan kesalahpahaman yang dulu dimiliki beberapa orang tentang formulir email
[email protected]'; $subject = 'HTML Form in HTML Email'; $headers = "From: [email protected]\r\n"; $headers .= "MIME-Version: 1.0\r\n"; $headers .= "Content-Type: text/html; charset=ISO-8859-1\r\n"; $message = '<html><body>'; $message .= '<form action="//mysite.com/process.php" method="post" target="_blank">'; $message .= '<label>How did you like the movie <strong>Turfnuts</strong>?</label><br />'; $message .= '<input name="rating" type="radio" /> ★☆☆☆<br />'; $message .= '<input name="rating" type="radio" /> ★★☆☆<br />'; $message .= '<input name="rating" type="radio" /> ★★★☆<br />'; $message .= '<input name="rating" type="radio" /> ★★★★<br />'; $message .= '<br />'; $message .= '<label for="commentText">Leave a quick review:</label><br />'; $message .= '<textarea cols="75" name="commentText" rows="5"></textarea><br />'; $message .= '<br />'; $message .= '<input type="submit" value="Submit your review" /> </form>'; $message .= '</body></html>'; mail($to, $subject, $message, $headers); ?>
Saya hanya menguji GMail sejauh ini. GMail memberikan peringatan ini saat mengirimkan formulir
Itu hanya peringatan. Kedengarannya tidak terlalu menakutkan. Tapi itu tidak sebersih mengirimkan formulir di situs web biasa. Pasti ada beberapa pengguna yang akan membatalkan dan tidak melanjutkan pengiriman. Email Google sendiri melakukan ini juga. Jika Anda mengklik "OK", formulir dikirimkan seperti yang Anda harapkan
Mengidentifikasi Sendi
Perhatikan email Google (atau tes cepat saya) tidak menyertakan bidang seperti "Nama" dan "Email". Itu akan konyol bukan? . Tapi bagaimana Anda mengetahuinya ketika Anda menerima data formulir? . Sistem apa pun yang Anda gunakan untuk menghasilkan email ini juga dapat menjatuhkan email itu dalam nilai masukan
<input type="hidden" name="email" value="[[prefill with email]]">Tapi itu tidak terlalu aman. Siapa pun yang menggali dapat melihat bagaimana Anda memposting data itu dan mengirimkan posting palsu dengan alamat email asli. Tidak baik. Mungkin lebih baik memposting formulir dengan kode rahasia yang mengidentifikasi pengguna (dan hal lain yang ingin Anda identifikasi dengan aman, seperti produk yang mereka ulas)
Nilai-nilai omong kosong itu akan menjadi hash asin yang Anda simpan di pihak Anda sebelum dikirim. Kemudian ketika Anda menerimanya kembali, Anda dapat mencocokkannya dan tahu persis pengguna dan produk untuk apa ulasan itu. Sekarang saya bukan ahli keamanan, jadi beri tahu saya jika ada cara yang lebih cerdas
Mendukung
Mark Wyner membuat blog tentang ini untuk Monitor Kampanye pada tahun 2007. Inilah dukungan dari saat itu
Saya ingin memperbarui bagan ini dengan lebih banyak klien email saat ini. Jika ada yang bisa menjalankan tes, beri tahu saya, kami akan mulai membuatnya
Karena posting blog di Monitor Kampanye, saya hanya dapat berasumsi bahwa mereka mengizinkan Anda mengirim email yang menyertakan formulir, tetapi saya belum mengujinya. Saya memang mencoba mengirim satu dari MailChimp, tetapi tampaknya mereka menghapus formulir sebelum mengirim email. Menurut artikel lama itu, beberapa klien email menganggap email dengan formulir "tidak aman", jadi ini mungkin permainan dari MailChimp untuk mencegah pengalaman buruk bagi pengguna seperti itu dan meningkatkan keterkiriman
Jika Anda berpikir untuk menggunakan ide ini dalam praktik, untuk kasus penggunaan seperti yang disajikan di atas, Anda tidak akan dapat menggunakan layanan untuk mengirim email (karena Anda harus membuat, menyimpan, mengirim hash asin tersebut dengan aman
Pandangan
Sepertinya versi Outlook yang lebih lama menghapus fungsionalitas formulir. Jadi itu masalah. Semoga versi baru tidak melakukan itu. Outlook versi lama juga menggunakan Internet Explorer sebagai mesin rendering, yang berarti Anda dapat menggunakan tag bersyarat untuk membantu
<!--[if IE]> <a href="//yourwebsite.com/review.php?whatever"> Review this product </a> <![endif]--> <!--[if !IE]><!--> <form> <!-- Actual review form --> </form> <!--<![endif]-->Milage pada itu mungkin berbeda… ternyata Outlook 2007 dan Outlook 2010 menggunakan Microsoft Word (WTF) sebagai mesin rendering, bukan Internet Explorer. Tidak yakin bagaimana tag bersyarat bekerja di Microsoft Word (sekali lagi, WTF)