Salah satu komponen utama setiap aplikasi web ialah keupayaan untuk menghantar e-mel.
Kini, ini tidak bermakna bahawa setiap aplikasi web ialah klien melnya sendiri (walaupun orang ramai membuat klien mel mereka sendiri).
Sebaliknya, apa yang saya maksudkan ialah apabila pengguna mendaftar, pengguna menukar kata laluan mereka, sesuatu berubah dalam sistem, atau lebih umum, apabila sesuatu berlaku yang pemilik tapak web ingin memberitahu pengguna, aplikasi biasanya Menghantar e-mel.
Setakat ini dalam siri ini, kami telah membincangkan:
Artikel sebelum ini boleh dikatakan salah satu yang paling kompleks yang akan kami bahas, bagaimanapun, adalah perlu bagi mereka yang ingin menambah ciri yang lebih maju pada projek mereka.
Dengan itu, kami akan berehat dari beberapa bahan yang lebih kompleks dan melihat apa yang WordPress tawarkan semasa menghantar e-mel.
Sebelum kita menyelami perkara yang ditawarkan oleh API WordPress dari segi menghantar e-mel, menyesuaikan e-mel dan banyak lagi, adalah penting untuk mengetahui beberapa perkara tentang e-mel.
Yang berkata, adalah penting untuk memahami komponen yang digunakan untuk membuat e-mel sebenar – lagipun, ia lebih daripada sekadar alamat, subjek dan kandungan.
Sebelum kami mula membina e-mel tersuai kami sendiri, terdapat beberapa nuansa teknikal yang patut difahami.
Ringkasnya, pengepala e-mel mengandungi set maklumat yang minimum, termasuk: siapa yang menghantar e-mel dan alamat dari mana e-mel itu dihantar.
Selalunya, anda mungkin melihat maklumat tambahan disertakan dalam pengepala. Sebagai contoh, maklumat ini mungkin termasuk cap masa apabila e-mel dihantar.
Untuk WordPress, pengirim yang dinyatakan dalam pengepala e-mel sentiasa ditakrifkan sebagai penghantar lalai dalam WordPress melainkan dinyatakan sebaliknya.
Sebagai contoh, jika anda ingin menetapkan alamat balasan kepada "donotreply@domain.com" maka anda perlu menyesuaikan ini.
Selain itu, selalunya sebaiknya gunakan pengepala e-mel dalam bentuk tatasusunan supaya anda boleh membina, menentukan dan menghantar alamat, alamat CC dan penerima BCC dengan mudah.
Apabila format yang diikuti oleh e-mel, anda mungkin melihat dua bentuk:
Anda sudah biasa melihat HTML dalam kebanyakan klien e-mel moden namun, jika anda mempunyai pelanggan yang lebih ringkas, tetapkannya untuk memaparkan teks biasa sahaja atau anda sedang membaca e-mel pada telefon yang lebih lama, Kemudian anda akan membaca kandungannya; dalam teks biasa.
WordPress boleh menghantar e-mel sebagai teks biasa atau HTML.
Kita akan melihat dengan tepat cara melakukan ini apabila kita melihat contoh cara menghantar e-mel secara pemprograman. Ringkasnya, terdapat cangkuk yang menjadikannya sangat mudah - tetapi kami akan menunggu untuk melihatnya beraksi sehingga kami meliputi bahagian lain yang diperlukan dalam e-mel.
Seperti yang anda ketahui, lampiran sebenarnya adalah sebarang fail yang anda lampirkan pada e-mel dan hantar kepada penerima.
Persoalannya, terdapat beberapa peraturan yang mengawal e-mel - tetapi ia tidak semestinya ditetapkan oleh perisian. Sebaliknya, pelayan, pelanggan e-mel dan pelbagai peraturan lain mengehadkan perkara yang boleh kami terima dalam peti masuk kami.
Contohnya:
Ini di luar kawalan kami pula - kami hanya perlu mengetahui had tentang orang yang kami e-mel dan pastikan kami mematuhinya.
Untuk melakukan ini, mudah untuk membuat lampiran untuk dihantar melalui e-mel WordPress.
Walaupun lampiran jelas tidak diperlukan, anda mungkin mahu melampirkan satu fail atau malah berbilang fail. Dalam WordPress, ini boleh dilakukan melalui rentetan atau tatasusunan.
Kami tidak akan melihat dengan tepat cara untuk melakukan ini sekarang, tetapi kami akan memahami perkara ini serta-merta apabila kami melihat contoh cara menghantar e-mel secara pemprograman.
Pada tahap paling asas, setiap e-mel mengandungi alamat e-mel "Kepada", "Subjek" dan "Mesej".
Dalam WordPress, tetapan ini juga sangat mudah – cuma berikan rentetan untuk setiap tetapan dan anda boleh melakukannya.Sudah tentu, jika anda ingin menghantar e-mel kepada berbilang orang, anda boleh mengulangi pengumpulan alamat dan menghantar e-mel kepada setiap pengguna,
Atau anda boleh menyediakan WordPress dengan satu set API mel penerima dan ia akan menghantar e-mel Hantar kepada semua orang yang disertakan.
Ingat: Jika anda ingin menentukan alamat reply-to
yang berbeza, sila nyatakan alamat tersebut dalam pengepala yang kami bincangkan sebelum ini dalam artikel ini. reply-to
地址,请在我们在本文前面介绍的标头中指定该地址。
综上所述,我们准备好实际了解一下 WordPress 电子邮件 API。
简而言之,所有功能都包含在一个名为 wp_mail
的函数中;但是,如果我们想充分利用该应用程序提供的功能,有一些我们需要注意的地方。
具体来说,我们将使用以下钩子:
wp_mail_content_type
允许我们定义正在发送的电子邮件的 MIME 类型wp_mail_from
是一个过滤器,我们可以使用它来定义发件人地址,而不是使用 $headers
数组wp_mail_from_name
是一个过滤器,我们可以使用它来定义此人的发件人,而不是使用 $headers
数组wp_login
是我们用于演示的钩子,这样每当有人登录 WordPress 仪表板时我们就会向某人发送电子邮件为了完整起见,我将在下面分享整个代码,然后我们将逐步完成它。
<?php function acme_email_individual( $input ) { /** * Note: assume that $input has keys for 'email-address'. */ // Generate the password $password = wp_generate_password ( 12, false ); // Email the user that they're profile was created $message = 'Hey There,'; $message .= '<br /><br />'; $message .= 'Your account has been created. Your login information is below:'; $message .= '<br />'; $message .= '<ul>'; $message .= '<li>Username: ' . $input['email-address'] . '</li>'; $message .= '<li>Password: ' . $password . '</li>'; $message .= '</ul>'; $message .= '<br />'; $message .= 'You can login to the application <a href="' . get_bloginfo( 'siteurl' ) . '">here</a>.'; add_filter( 'wp_mail_content_type', create_function( '', 'return "text/html";' ) ); add_filter( 'wp_mail_from', 'acme_mail_from' ); add_filter( 'wp_mail_from_name', 'acme_mail_from_name' ); wp_mail( $input['email-address'], 'Your Acme Account Has Been Created!', $message, array() ); } function acme_mail_from( $email ) { // NOTE: replace [at] with @. This was causing problems with the syntax highlighter. return 'donotreply[at]acme.com'; } function acme_mail_from_name( $name ) { return 'The Acme Company'; }
如果您到目前为止一直在阅读本文,那么这一切都不会太令人惊讶:毕竟,我们正在利用 WordPress 提供的挂钩,我们正在构建字符串作为函数参数传递,然后我们调用 wp_mail
函数。
但是请注意,我们传递一个空数组作为此电子邮件的 $headers
Menggunakan API E-mel WordPress
Dengan semua yang dikatakan, kami bersedia untuk melihat secara langsung pada API E-mel WordPress.
Ringkasnya, semua fungsi terkandung dalam fungsi yang dipanggil wp_mail
namun, jika kami ingin memanfaatkan sepenuhnya apa yang ditawarkan oleh aplikasi ini, terdapat beberapa perkara yang kami Perkara yang perlu diperhatikan.
wp_mail_content_type
membolehkan kami menentukan jenis MIME e-mel yang dihantarwp_mail_from
ialah penapis yang boleh kita gunakan untuk menentukan alamat pengirim dan bukannya menggunakan tatasusunan $headers
wp_mail_from_name
ialah penapis yang boleh kita gunakan untuk menentukan pengirim orang ini dan bukannya menggunakan tatasusunan $headers
wp_login
ialah cangkuk yang kami gunakan untuk demo supaya setiap kali seseorang log masuk ke papan pemuka WordPress kami akan menghantar e-mel kepada seseorang
wp_mail
fungsi. Tetapi sila ambil perhatian bahawa kami melalukan tatasusunan kosong sebagai parameter
$headers
e-mel ini. Ini kerana kami menggunakan penapis tersuai untuk menetapkan "Nama Pengirim
" dan "Alamat Pengirim
", menggunakan penapis dan fungsi cangkuk dan bukannya tatasusunan.Cara ini tidak semestinya lebih baik daripada yang lain, namun, tujuannya adalah untuk menunjukkan bahawa terdapat pelbagai cara untuk mencapai hasil yang sama.
Atas ialah kandungan terperinci WordPress untuk pembangunan aplikasi web: Penyepaduan e-mel. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!