Dengan perkembangan Internet yang berterusan, e-mel telah menjadi bahagian yang amat diperlukan dalam kehidupan seharian manusia. Peti mel ialah alat pengurusan e-mel biasa yang boleh membantu kami mengurus peti masuk, dihantar dan e-mel spam, dsb. Artikel ini akan memperkenalkan secara terperinci cara menggunakan PHP untuk melaksanakan fungsi kotak mel sistem.
1. Cipta jadual pangkalan data
Pertama, kita perlu mencipta jadual bernama "e-mel" dalam pangkalan data untuk menyimpan maklumat berkaitan e-mel. Anda boleh menggunakan pernyataan SQL berikut untuk mencipta:
BUAT JADUAL emails
(
id
int(11) BUKAN NULL AUTO_INCREMENT,
sender
varchar(255) BUKAN NULL,
recipient
varchar(255) NOT NULL,
subject
varchar(255) NOT NULL,
content
text NOT NULL,
date
datetime NOT NULL,
PRIMARY KEY (id
)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;
Jadual ini mengandungi 6 medan iaitu id, pengirim, penerima, subjek, kandungan dan tarikh. Antaranya, id ialah pengecam unik pengirim dan penerima mewakili alamat e-mel pengirim dan penerima mewakili subjek e-mel yang mewakili tarikh e-mel;
2. Tulis kod PHP
Seterusnya, kita perlu menulis kod PHP untuk melaksanakan fungsi kotak mel. Pertama, kita perlu menyambung ke pangkalan data Anda boleh menggunakan kod berikut untuk menyambung:
$servername = "localhost";
$username = "your_username";
$password = "your_password";
$dbname = "your_database";
// Buat sambungan
$conn = new mysqli($servername, $username, $password, $dbname) ;
// Semak sama ada sambungan berjaya
jika ($conn->connect_error) {
die("连接失败: " . $conn->connect_error);
}
?>
Selepas sambungan berjaya, kita perlu menulis Penyata SQL untuk mendapatkan maklumat berkaitan e-mel daripada pangkalan data. Anda boleh menggunakan kod berikut untuk membuat pertanyaan:
$sql = "PILIH * DARI e-mel PESANAN MENGIKUT tarikh DESC";
$result = $conn->query($ sql) ;
jika ($result->num_rows > 0) {
// 输出数据 while($row = $result->fetch_assoc()) { echo "发件人:" . $row["sender"]. " 收件人:" . $row["recipient"]. " 主题:" . $row["subject"]. " 时间:" . $row["date"]. "<br>"; }
} else {
echo "还没有邮件!";
}
?>
Kod ini menggunakan pernyataan SELECT untuk mendapatkan maklumat e-mel yang layak daripada pangkalan data dan mengeluarkannya ke pelayar satu demi satu. Antaranya, ORDER BY date DESC bermaksud menyusun mengikut urutan terbalik masa penghantaran.
Seterusnya, kita perlu menulis kod untuk melaksanakan fungsi menghantar e-mel. Ia boleh ditulis menggunakan kod berikut:
if ($_SERVER["REQUEST_METHOD"] == "POST") {
$sender = $_POST["sender"]; $recipient = $_POST["recipient"]; $subject = $_POST["subject"]; $content = $_POST["content"]; $date = date('Y-m-d H:i:s'); $sql = "INSERT INTO emails (sender, recipient, subject, content, date) VALUES ('$sender', '$recipient', '$subject', '$content', '$date')"; if ($conn->query($sql) === TRUE) { echo "邮件发送成功!"; } else { echo "邮件发送失败:" . $conn->error; }
}
? >
Kod ini menggunakan pernyataan INSERT untuk memasukkan maklumat e-mel baharu ke dalam pangkalan data. Selepas pengguna menyerahkan borang, kami mendapat nilai setiap medan dalam borang dan memasukkannya ke dalam pangkalan data. Jika sisipan berjaya, "E-mel berjaya dihantar!" jika gagal, mesej ralat akan dikeluarkan.
3. Buat antara muka pengguna
Akhir sekali, kita perlu membuat antara muka pengguna supaya pengguna boleh menggunakan fungsi peti mel dengan mudah. Ia boleh ditulis menggunakan kod HTML berikut:
<title>邮箱</title>
收件箱
query($sql); if ($result->num_rows > 0) { // 输出数据 while($row = $result->fetch_assoc()) { echo "发件人:" . $row["sender"]. " 收件人:" . $row["recipient"]. " 主题:" . $row["subject"]. " 时间:" . $row["date"]. "
"; } } else { echo "还没有邮件!"; } ?>
发送邮件
Antara muka pengguna ini mengandungi dua bahagian: peti masuk dan menghantar e-mel. Di bahagian peti masuk, kami akan mendapat maklumat e-mel daripada pangkalan data dan mengeluarkannya ke halaman web satu persatu. Dalam bahagian menghantar e-mel, kita boleh menggunakan borang untuk mengisi dan menghantar kandungan borang ke pangkalan data selepas pengguna menghantar borang.
Ringkasan
Selepas langkah di atas, kita boleh menggunakan PHP dengan mudah untuk melaksanakan fungsi peti mel yang ringkas. Sudah tentu, ini hanyalah draf dan tidak boleh menyesuaikan sepenuhnya kepada semua senario permintaan. Kami boleh menjalankan pembangunan sekunder atas dasar ini untuk mencapai lebih banyak fungsi dan lebih kaya.
Atas ialah kandungan terperinci Langkah terperinci untuk melaksanakan fungsi kotak mel sistem dalam PHP. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!