Rumah  >  Artikel  >  Tutorial CMS  >  WordPress untuk pembangunan aplikasi web: Penyepaduan e-mel

WordPress untuk pembangunan aplikasi web: Penyepaduan e-mel

王林
王林asal
2023-09-03 16:53:02763semak imbas

用于 Web 应用程序开发的 WordPress:电子邮件集成

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:

  • Pengurusan Pengguna
  • Kebenaran
  • Pengurusan Sesi

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.


Ketahui tentang 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.

Tajuk

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.

Jenis MIME

Apabila format yang diikuti oleh e-mel, anda mungkin melihat dua bentuk:

  • Teks biasa
  • HTML

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.

Aksesori

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:

  • Sesetengah pelanggan tidak membenarkan menghantar fail zip atau fail boleh laku
  • Banyak perkhidmatan e-mel mempunyai had pada saiz fail maksimum yang boleh dilampirkan
  • Jenis e-mel tertentu mungkin ditandakan sebagai spam berdasarkan lampiran (atau kandungannya)

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.

Penerima, Subjek dan Mesej

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

综上所述,我们准备好实际了解一下 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.

Cangkuk yang diperlukan


Secara khusus, kami akan menggunakan cangkuk berikut:

  • wp_mail_content_type membolehkan kami menentukan jenis MIME e-mel yang dihantar
  • wp_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

Demi kesempurnaan, saya akan berkongsi keseluruhan kod di bawah dan kemudian kami akan meneruskannya langkah demi langkah.

Kod sumber

rrreee Jika anda telah membaca artikel ini setakat ini, perkara ini tidak terlalu mengejutkan: lagipun, kami memanfaatkan cangkuk yang disediakan oleh WordPress, kami sedang membina rentetan untuk dihantar sebagai hujah fungsi, dan kemudian kami memanggil 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.
Sekarang, ke data! Ini adalah satu lagi ciri WordPress yang membolehkan anda memasukkan fungsi e-mel ke dalam aplikasi web anda dengan mudah. 🎜 🎜Malah, saya rasa model acara WordPress menjadikannya sangat mudah untuk memperkenalkan fungsi e-mel dalam mana-mana senario yang boleh dibayangkan - jika ada cangkuk tersedia, anda boleh menghantar e-mel sahaja. 🎜 🎜Dengan itu, sudah tiba masanya untuk mengalihkan perhatian kita kepada salah satu aspek pembangunan aplikasi web yang paling biasa: pengurusan data. 🎜 🎜Secara khusus, kita perlu melihat cara untuk menyimpan maklumat ke pangkalan data dan mendapatkan maklumat daripada data, dan cara untuk mencapai operasi ini dengan selamat dan cekap. 🎜 🎜Jadi, bermula dari artikel seterusnya, kami akan melakukannya. 🎜 🎜🎜🎜🎜🎜

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!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn