隨著網路的不斷發展,電子郵件已經成為人們日常生活不可或缺的一部分。郵件盒是一種常見的郵件管理工具,它可以幫助我們輕鬆管理收件匣、已發送和垃圾郵件等。本文將詳細介紹如何使用PHP實作系統郵件盒功能。
一、建立資料庫表格
首先,我們需要在資料庫中建立一個名為"emails"的表格,用來儲存郵件相關的資訊。可以使用下列SQL語句進行建立:
CREATE TABLE emails
(
id
int(11) NOT NULL AUTO_INCREMENT,
sender
varchar(255) NOT 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;
#這個表格包含了6個字段,分別是id、sender、recipient、subject、content和date。其中,id為郵件的唯一識別碼;sender與recipient表示寄件者和收件者的郵件地址;subject表示郵件主旨;content表示郵件內文;date表示郵件的傳送時間。
二、寫PHP程式碼
接下來,我們需要寫PHP程式碼來實作郵件盒子的功能。首先,我們需要連接資料庫,可以使用以下程式碼進行連線:
$servername = "localhost";
$username = "your_username";
$password = "your_password";
$dbname = "your_database";
// 建立連線
$conn = new mysqli($servername, $username, $password, $dbname);
// 檢查連線是否成功
if ($conn->connect_error) {
die("连接失败: " . $conn->connect_error);
}
?>
在連線成功後,我們需要寫SQL語句來從資料庫中取得郵件相關的資訊。可以使用以下程式碼來查詢:
$sql = "SELECT * FROM emails ORDER BY date DESC";
$result = $conn->query($sql) ;
if ($result->num_rows > 0) {
// 输出数据 while($row = $result->fetch_assoc()) { echo "发件人:" . $row["sender"]. " 收件人:" . $row["recipient"]. " 主题:" . $row["subject"]. " 时间:" . $row["date"]. "<br>"; }
} else {
echo "还没有邮件!";
}
?>
這段程式碼使用了SELECT語句從資料庫中獲取符合條件的郵件訊息,並逐條輸出到瀏覽器上。其中,ORDER BY date DESC表示依照傳送時間倒序排列。
接下來,我們需要編寫程式碼來實現發送郵件的功能。可以使用以下程式碼來寫:
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; }
}
?>
這段程式碼使用了INSERT語句在資料庫中插入新的郵件訊息。在使用者提交表單後,我們會取得表單中的各個欄位的值,並將其插入資料庫中。如果插入成功,則會輸出"郵件發送成功!";如果失敗,則會輸出錯誤訊息。
三、製作使用者介面
最後,我們需要製作一個使用者介面,讓使用者可以輕鬆地使用郵件盒子的功能。可以使用以下HTML程式碼來寫:
<title>邮箱</title>
< ;body>
收件箱
query($sql); if ($result->num_rows > 0) { // 输出数据 while($row = $result->fetch_assoc()) { echo "发件人:" . $row["sender"]. " 收件人:" . $row["recipient"]. " 主题:" . $row["subject"]. " 时间:" . $row["date"]. "
"; } } else { echo "还没有邮件!"; } ?>
发送邮件