表單郵件無組件php(表單發送郵件)

  • 1、新手想做一個PHP的表單提交發送到指定郵箱,請高手指教?
  • 2、PHP提交表單發送郵件的代碼!50分求!
  • 3、這個表單如何用php發送郵件?
  • 4、PHP郵件發送
  • 5、請問如何用php實現表單提交後以郵件的形式發到郵箱中.
  • 6、html提交的表單,發送到郵箱里。 不要組件的方法。要具體點的,最好舉個例子,包括html提交怎麼寫。

首先包含一個郵件發送類 require(“sendMail.php”);

然後你要有一個發送郵件的服務器(可以到163隨意註冊個,例如註冊的是aa@163.com,密碼是aa123),然後是發送郵件的代碼,我給你一個我用的例子

$smtpserver = “smtp.163.com”; //你選擇的SMTP服務器

$smtpserverport =25; //SMTP服務器端口

$smtpusermail = “aa@163.com”; //SMTP服務器的用戶郵箱

$smtpemailto = “bb@qq.com”; //收件箱

$smtpuser = “aa@163.com”; //SMTP服務器的用戶帳號

$smtppass = “aa123”; //SMTP服務器的用戶密碼

$MailBody=”姓名:”.$_POST[‘Name’];//郵件內容(如你提交的表單姓名為Name)

$mailsubject=@iconv(“UTF-8”, “gb2312”, “XX網站-問題提交”);//如果你頁面為UTF-8,這裡還要轉碼一下

$mailbody = $MailBody; //郵件內容

$mailtype = “HTML”; //郵件格式(HTML/TXT),TXT為文本郵件

$smtp = new smtp($smtpserver,$smtpserverport,true,$smtpuser,$smtppass);//true表示使用身份驗證,否則不使用身份驗證.

$smtp-debug = FALSE; //是否顯示發送的調試信息 TRUE發送 FALSE不發送

$smtp-sendmail($smtpemailto, $smtpusermail, $mailsubject, $mailbody, $mailtype);

sendMail.php代碼:

class smtp

{

/* Public Variables */

var $smtp_port; //郵件服務器端口

var $time_out; //超時時間

var $host_name; //主機名稱

var $log_file; //日誌文件

var $relay_host; //

var $debug;

var $auth;

var $user; //用戶名

var $pass; //密碼

var $sock;

/* Constractor */

function smtp($relay_host, $smtp_port,$auth,$user,$pass)

{

// echo $relay_host.” “.$smtp_port.” “.$auth.” “.$user.” “.$pass;

$this-debug = FALSE;

$this-smtp_port = $smtp_port;

$this-relay_host = $relay_host;

$this-time_out = 30;//is used in fsockopen()

$this-auth = $auth;//auth

$this-user = $user;

$this-pass = $pass;

$this-host_name = “localhost”;//is used in HELO command

$this-log_file = “”;

$this-sock = FALSE;

}

/* Main Function */

function sendmail($to, $from, $subject = “”, $body = “”, $mailtype, $cc = “”, $bcc = “”, $additional_headers = “”)

{

$mail_from = $this-get_address($this-strip_comment($from));

$body = ereg_replace(“(^|(\r\n))(\.)”, “\1.\3”, $body);

$header .= “MIME-Version:1.0\r\n”;

if($mailtype==”HTML”){

$header .= “Content-Type:text/html\r\n”;

}

$header .= “To: “.$to.”\r\n”;

if ($cc != “”) {

$header .= “Cc: “.$cc.”\r\n”;

}

$header .= “From: $from”.$from.”\r\n”;

$header .= “Subject: “.$subject.”\r\n”;

$header .= $additional_headers;

$header .= “Date: “.date(“r”).”\r\n”;

$header .= “X-Mailer:By Redhat (PHP/”.phpversion().”)\r\n”;

list($msec, $sec) = explode(” “, microtime());

$header .= “Message-ID: “.date(“YmdHis”, $sec).”.”.($msec*1000000).”.”.$mail_from.”\r\n”;

$TO = explode(“,”, $this-strip_comment($to));

if ($cc != “”) {

$TO = array_merge($TO, explode(“,”, $this-strip_comment($cc)));

}

if ($bcc != “”) {

$TO = array_merge($TO, explode(“,”, $this-strip_comment($bcc)));

}

$sent = TRUE;

foreach ($TO as $rcpt_to) {

$rcpt_to = $this-get_address($rcpt_to);

if (!$this-smtp_sockopen($rcpt_to)) {

$this-log_write(“Error: Cannot send email to “.$rcpt_to.”\n”);

$sent = FALSE;

continue;

}

if ($this-smtp_send($this-host_name, $mail_from, $rcpt_to, $header, $body)) {

$this-log_write(“E-mail has been sent to “.$rcpt_to.”\n”);

}

else {

$this-log_write(“Error: Cannot send email to “.$rcpt_to.”\n”);

$sent = FALSE;

}

fclose($this-sock);

$this-log_write(“Disconnected from remote host\n”);

}

return $sent;

}

/* Private Functions */

function smtp_send($helo, $from, $to, $header, $body = “”)

{

if (!$this-smtp_putcmd(“HELO”, $helo)) {

return $this-smtp_error(“sending HELO command”);

}

if($this-auth){

if (!$this-smtp_putcmd(“AUTH LOGIN”, base64_encode($this-user))) {

return $this-smtp_error(“sending HELO command”);

}

if (!$this-smtp_putcmd(“”, base64_encode($this-pass))) {

return $this-smtp_error(“sending HELO command”);

}

}

if (!$this-smtp_putcmd(“MAIL”, “FROM:”.$from.””)) {

return $this-smtp_error(“sending MAIL FROM command”);

}

if (!$this-smtp_putcmd(“RCPT”, “TO:”.$to.””)) {

return $this-smtp_error(“sending RCPT TO command”);

}

if (!$this-smtp_putcmd(“DATA”)) {

return $this-smtp_error(“sending DATA command”);

}

if (!$this-smtp_message($header, $body)) {

return $this-smtp_error(“sending message”);

}

if (!$this-smtp_eom()) {

return $this-smtp_error(“sending CRLF.CRLF [EOM]”);

}

if (!$this-smtp_putcmd(“QUIT”)) {

return $this-smtp_error(“sending QUIT command”);

}

return TRUE;

}

function smtp_sockopen($address)

{

if ($this-relay_host == “”) {

return $this-smtp_sockopen_mx($address);

} else {

return $this-smtp_sockopen_relay();

}

}

function smtp_sockopen_relay()

{

$this-log_write(“Trying to “.$this-relay_host.”:”.$this-smtp_port.”\n”);

$this-sock = @fsockopen($this-relay_host, $this-smtp_port, $errno, $errstr, $this-time_out);

if (!($this-sock $this-smtp_ok())) {

$this-log_write(“Error: Cannot connenct to relay host “.$this-relay_host.”\n”);

$this-log_write(“Error: “.$errstr.” (“.$errno.”)\n”);

return FALSE;

}

$this-log_write(“Connected to relay host “.$this-relay_host.”\n”);

return TRUE;

}

function smtp_sockopen_mx($address)

{

$domain = ereg_replace(“^.+@([^@]+)$”, “\1”, $address);

if (!@getmxrr($domain, $MXHOSTS)) {

$this-log_write(“Error: Cannot resolve MX \””.$domain.”\”\n”);

return FALSE;

}

foreach ($MXHOSTS as $host) {

$this-log_write(“Trying to “.$host.”:”.$this-smtp_port.”\n”);

$this-sock = @fsockopen($host, $this-smtp_port, $errno, $errstr, $this-time_out);

if (!($this-sock $this-smtp_ok())) {

$this-log_write(“Warning: Cannot connect to mx host “.$host.”\n”);

$this-log_write(“Error: “.$errstr.” (“.$errno.”)\n”);

continue;

}

$this-log_write(“Connected to mx host “.$host.”\n”);

return TRUE;

}

$this-log_write(“Error: Cannot connect to any mx hosts (“.implode(“, “, $MXHOSTS).”)\n”);

return FALSE;

}

function smtp_message($header, $body)

{

fputs($this-sock, $header.”\r\n”.$body);

$this-smtp_debug(” “.str_replace(“\r\n”, “\n”.” “, $header.”\n “.$body.”\n “));

return TRUE;

}

function smtp_eom()

{

fputs($this-sock, “\r\n.\r\n”);

$this-smtp_debug(“. [EOM]\n”);

return $this-smtp_ok();

}

function smtp_ok()

{

$response = str_replace(“\r\n”, “”, fgets($this-sock, 512));

$this-smtp_debug($response.”\n”);

if (!ereg(“^[23]”, $response)) {

fputs($this-sock, “QUIT\r\n”);

fgets($this-sock, 512);

$this-log_write(“Error: Remote host returned \””.$response.”\”\n”);

return FALSE;

}

return TRUE;

}

function smtp_putcmd($cmd, $arg = “”)

{

if ($arg != “”) {

if($cmd==””) $cmd = $arg;

else $cmd = $cmd.” “.$arg;

}

fputs($this-sock, $cmd.”\r\n”);

$this-smtp_debug(” “.$cmd.”\n”);

return $this-smtp_ok();

}

function smtp_error($string)

{

$this-log_write(“Error: Error occurred while “.$string.”.\n”);

return FALSE;

}

function log_write($message)

{

$this-smtp_debug($message);

if ($this-log_file == “”) {

return TRUE;

}

$message = date(“M d H:i:s “).get_current_user().”[“.getmypid().”]: “.$message;

if (!@file_exists($this-log_file) || !($fp = @fopen($this-log_file, “a”))) {

$this-smtp_debug(“Warning: Cannot open log file \””.$this-log_file.”\”\n”);

return FALSE;;

}

flock($fp, LOCK_EX);

fputs($fp, $message);

fclose($fp);

return TRUE;

}

function strip_comment($address)

{

$comment = “\([^()]*\)”;

while (ereg($comment, $address)) {

$address = ereg_replace($comment, “”, $address);

}

return $address;

}

function get_address($address)

{

$address = ereg_replace(“([ \t\r\n])+”, “”, $address);

$address = ereg_replace(“^.*(.+).*$”, “\1”, $address);

return $address;

}

function smtp_debug($message)

{

if ($this-debug) {

//echo $message;

}

}

}

加載這個類就好了

?

set_time_limit(120);

class smtp

{

/* Public Variables */

var $smtp_port;

var $time_out;

var $host_name;

var $log_file;

var $relay_host;

var $debug;

var $auth;

var $user;

var $pass;

var $sender;

/* Private Variables */

var $sock;

/* Constractor */

function smtp($relay_host = “”, $smtp_port = 25,$auth = false,$user,$pass,$sender)

{

$this-debug = FALSE;

$this-smtp_port = $smtp_port;

$this-relay_host = $relay_host;

$this-time_out = 30; //is used in fsockopen()

$this-auth = $auth;//auth

$this-user = $user;

$this-pass = $pass;

$this-sender = $sender;

$this-host_name = “localhost”; //is used in HELO command

$this-log_file = “”;

$this-logs = “”; //記錄跟服務器的交互過程

$this-sock = FALSE;

}

/* Main Function */

function sendmail($to, $from, $subject = “”, $body = “”, $mailtype, $cc = “”, $bcc = “”, $additional_headers = “”)

{

$sent = TRUE;

$mail_from = $this-get_address($this-strip_comment($from));

$body = ereg_replace(“(^|(\r\n))(\.)”, “\1.\3”, $body);

$header .= “MIME-Version:1.0\r\n”;

if($mailtype==”HTML”){

$header .= “Content-Type:text/html\r\n”;

}

$header .= “To: “.$to.”\r\n”;

if ($cc != “”) {

$header .= “Cc: “.$cc.”\r\n”;

}

//$header .= “From: $from”.$from.”\r\n”;

$header .= “From: “.$from.”\r\n”;

$header .= “Subject: “.$subject.”\r\n”;

$header .= $additional_headers;

$header .= “Date: “.date(“r”).”\r\n”;

$header .= “X-Mailer: 72e.net (PHP/”.phpversion().”)\r\n”;

list($msec, $sec) = explode(” “, microtime());

$header .= “Message-ID: “.date(“YmdHis”, $sec).”.”.($msec*1000000).”.”.$mail_from.”\r\n”;

$TO = explode(“,”, $this-strip_comment($to));

if ($cc != “”) {

$TO = array_merge($TO, explode(“,”, $this-strip_comment($cc)));

}

if ($bcc != “”) {

$TO = array_merge($TO, explode(“,”, $this-strip_comment($bcc)));

}

foreach ($TO as $rcpt_to) {

$rcpt_to = $this-get_address($rcpt_to);

if (!$this-smtp_sockopen($rcpt_to)) {

$this-log_write(“Error: Cannot send email to “.$rcpt_to.”\n”);

$sent = FALSE;

continue;

}

if ($this-smtp_send($this-host_name, $mail_from, $rcpt_to, $header, $body)) {

$this-log_write(“E-mail has been sent to “.$rcpt_to.”\n”);

} else {

$this-log_write(“Error: Cannot send email to “.$rcpt_to.”\n”);

$sent = FALSE;

}

fclose($this-sock);

$this-log_write(“Disconnected from remote host\n”);

}

return $sent;

}

/* Private Functions */

function smtp_send($helo, $from, $to, $header, $body = “”)

{

if (!$this-smtp_putcmd(“HELO”, $helo)) {

return $this-smtp_error(“sending HELO command”);

}

#auth

if($this-auth){

if (!$this-smtp_putcmd(“AUTH LOGIN”, base64_encode($this-user))) {

return $this-smtp_error(“sending AUTH command”);

}

if (!$this-smtp_putcmd(“”, base64_encode($this-pass))) {

return $this-smtp_error(“sending AUTH command”);

}

}

#

//if (!$this-smtp_putcmd(“MAIL”, “FROM:”.$from.””)) {

if (!$this-smtp_putcmd(“MAIL”, “FROM:”.$this-sender.””)) {

return $this-smtp_error(“sending MAIL FROM command”);

}

if (!$this-smtp_putcmd(“RCPT”, “TO:”.$to.””)) {

return $this-smtp_error(“sending RCPT TO command”);

}

if (!$this-smtp_putcmd(“DATA”)) {

return $this-smtp_error(“sending DATA command”);

}

if (!$this-smtp_message($header, $body)) {

return $this-smtp_error(“sending message”);

}

if (!$this-smtp_eom()) {

return $this-smtp_error(“sending CRLF.CRLF [EOM]”);

}

if (!$this-smtp_putcmd(“QUIT”)) {

return $this-smtp_error(“sending QUIT command”);

}

return TRUE;

}

function smtp_sockopen($address)

{

if ($this-relay_host == “”) {

return $this-smtp_sockopen_mx($address);

} else {

return $this-smtp_sockopen_relay();

}

}

function smtp_sockopen_relay()

{

$this-log_write(“Trying to “.$this-relay_host.”:”.$this-smtp_port.”\n”);

$this-sock = @fsockopen($this-relay_host, $this-smtp_port, $errno, $errstr, $this-time_out);

if (!($this-sock $this-smtp_ok())) {

$this-log_write(“Error: Cannot connenct to relay host “.$this-relay_host.”\n”);

$this-log_write(“Error: “.$errstr.” (“.$errno.”)\n”);

return FALSE;

}

$this-log_write(“Connected to relay host “.$this-relay_host.”\n”);

return TRUE;

}

function smtp_sockopen_mx($address)

{

$domain = ereg_replace(“^.+@([^@]+)$”, “\1”, $address);

if (!@getmxrr($domain, $MXHOSTS)) {

$this-log_write(“Error: Cannot resolve MX \””.$domain.”\”\n”);

return FALSE;

}

foreach ($MXHOSTS as $host) {

$this-log_write(“Trying to “.$host.”:”.$this-smtp_port.”\n”);

$this-sock = @fsockopen($host, $this-smtp_port, $errno, $errstr, $this-time_out);

if (!($this-sock $this-smtp_ok())) {

$this-log_write(“Warning: Cannot connect to mx host “.$host.”\n”);

$this-log_write(“Error: “.$errstr.” (“.$errno.”)\n”);

continue;

}

$this-log_write(“Connected to mx host “.$host.”\n”);

return TRUE;

}

$this-log_write(“Error: Cannot connect to any mx hosts (“.implode(“, “, $MXHOSTS).”)\n”);

return FALSE;

}

function smtp_message($header, $body)

{

fputs($this-sock, $header.”\r\n”.$body);

$this-smtp_debug(” “.str_replace(“\r\n”, “\n”.” “, $header.”\n “.$body.”\n “));

return TRUE;

}

function smtp_eom()

{

fputs($this-sock, “\r\n.\r\n”);

$this-smtp_debug(“. [EOM]\n”);

return $this-smtp_ok();

}

function smtp_ok()

{

$response = str_replace(“\r\n”, “”, fgets($this-sock, 512));

//echo “response=”.$response.”\r\n”;

$this-smtp_debug($response.”\n”);

//echo “ereg 23 ==”.ereg(“^[23]”, $response).”\n”;

if (!ereg(“^[23]”, $response)) {

//echo “@@@@@”;

fputs($this-sock, “QUIT\r\n”);

fgets($this-sock, 512);

$this-log_write(“Error: Remote host returned \””.$response.”\”\n”);

return FALSE;

}

return TRUE;

}

function smtp_putcmd($cmd, $arg = “”)

{

if ($arg != “”) {

if($cmd==””) $cmd = $arg;

else $cmd = $cmd.” “.$arg;

}

fputs($this-sock, $cmd.”\r\n”);

$this-smtp_debug(” “.$cmd.”\n”);

//echo “cmd=”.$cmd.”\r\n”;

return $this-smtp_ok();

}

function smtp_error($string)

{

$this-log_write(“Error: Error occurred while “.$string.”.\n”);

return FALSE;

}

function log_write($message)

{

$this-logs .= $message;

$this-smtp_debug($message);

if ($this-log_file == “”) {

return TRUE;

}

$message = date(“M d H:i:s “).get_current_user().”[“.getmypid().”]: “.$message;

if (!@file_exists($this-log_file) || !($fp = @fopen($this-log_file, “a”))) {

$this-smtp_debug(“Warning: Cannot open log file \””.$this-log_file.”\”\n”);

return FALSE;

}

flock($fp, LOCK_EX);

fputs($fp, $message);

fclose($fp);

return TRUE;

}

function strip_comment($address)

{

$comment = “\([^()]*\)”;

while (ereg($comment, $address)) {

$address = ereg_replace($comment, “”, $address);

}

return $address;

}

function get_address($address)

{

$address = ereg_replace(“([ \t\r\n])+”, “”, $address);

$address = ereg_replace(“^.*(.+).*$”, “\1”, $address);

return $address;

}

function smtp_debug($message)

{

if ($this-debug) {

echo $message;

}

}

} // end class

?

?

$smtpserver = “smtp.126.com”; //smpt服務器,百度可以搜索到

$prot=25; //端口一般都是25,除極個別的除外

$smtpuser = “您的郵箱地址”; //您登錄smtp服務器的用戶名

$smtppwd = “您的密碼”; //您登錄smtp服務器的密碼

$mailtype = “HTML”; //郵件的類型,可選值是 TXT 或 HTML ,TXT 表示是純文本的郵件,HTML 表示是 html格式的郵件

$sender = “發件人地址”; //發件人,一般要與您登錄smtp服務器的用戶名($smtpuser)相同,否則可能會因為smtp服務器的設置導致發送失敗

$smtp = new smtp($smtpserver,$prot,true,$smtpuser,$smtppwd,$sender);

//$smtp-debug = true; //是否開啟調試,只在測試程序時使用,正式使用時請將此行注釋

$to = “admin@163.com”;//收件人

$subject = “你好”;

$body = “h1這是一個用 font color=’red’b php socket /b/font 發郵件的測試。

支持SMTP認證!/h1

“;

$send=$smtp-sendmail($to,$sender,$subject,$body,$mailtype);

if($send==1){

echo “郵件發送成功”;

}else{

echo “郵件發送失敗br”;

echo “原因:”.$this-smtp-logs;

}

?

表單提交數據到contacts.php文件處理 發送郵件信息,使用PHPMailer發送郵件就可以,

PHPMailer使用方法

網頁鏈接

首先去下載一個phpmailer的壓縮包(隨便一搜就可以找的到)

然後解壓

代碼如下:

?php

require(“phpmailer/class.phpmailer.php”); //引入文件(把剛才解壓的那些文件放到對應的路徑就可以了)

$mail = new PHPMailer(); //實例化

$mail-IsSMTP(); // 啟用SMTP

$mail-Host=”smtp.126.com”; //smtp服務器的名稱(這裡以126郵箱為例)

$mail-SMTPAuth = true; //啟用smtp認證

$mail-Username = “******@126.com”; //你的郵箱名

$mail-Password = “*****”; //郵箱密碼

$mail-From = “****@126.com”; //發件人地址(也就是你的郵箱地址)

$mail-FromName = “****”; //發件人姓名

$mail-AddAddress(“收件人地址”,”收件人姓名”); //添加收件人

$mail-AddReplyTo(“*****@126.com”, “****”); //回復地址(可填可不填)

$mail-WordWrap = 50; //設置每行字符長度

$mail-AddAttachment(“images/01.jpg”, “manu.jpg”); // 添加附件,並指定名稱

$mail-IsHTML(true); // 是否HTML格式郵件

$mail-CharSet=”utf-8″; //設置郵件編碼

$mail-Subject = “****”; //郵件主題

$mail-Body = “******”; //郵件內容

$mail-AltBody = “This is the body in plain text for non-HTML mail clients”; //郵件正文不支持HTML的備用顯示

if(!$mail-Send())

{

echo “Message could not be sent. p”;

echo “Mailer Error: ” . $mail-ErrorInfo;

exit();

} else {

echo “Message has been sent”;

}

?

用mail函數或者fsockopen函數來發送郵件。

手冊里的例子你看看吧:

?php

$to = ‘nobody@example.com’;

$subject = ‘the subject’;

$message = ‘hello’;

$headers = ‘From: webmaster@example.com’ . “\r\n” .

‘Reply-To: webmaster@example.com’ . “\r\n” .

‘X-Mailer: PHP/’ . phpversion();

mail($to, $subject, $message, $headers);

?

光html代碼是搞不出來的,要用後台語言如jsp、asp.net或php等。

另外發郵件還要有自己的郵件服務器或者購買其他郵件提供商的服務才行。

原創文章,作者:OZOJB,如若轉載,請註明出處:https://www.506064.com/zh-hk/n/127150.html

(0)
打賞 微信掃一掃 微信掃一掃 支付寶掃一掃 支付寶掃一掃
OZOJB的頭像OZOJB
上一篇 2024-10-03 23:13
下一篇 2024-10-03 23:13

相關推薦

  • IDEA Java發送郵件出現錯誤解決方案

    IDEA Java是一款常用的Java開發工具,很多開發者都使用它來開發Java應用程序。然而,在使用IDEA Java發送郵件時,有可能會出現一些錯誤。本文將從多個方面對該錯誤進…

    編程 2025-04-29
  • Java表單提交方式

    Java表單提交有兩種方式,分別是get和post。下面我們將從以下幾個方面詳細闡述這兩種方式。 一、get方式 1、什麼是get方式 在get方式下,表單的數據會以查詢字符串的形…

    編程 2025-04-27
  • 全方位解析fomer——無需編寫HTML表單的前端庫

    一、什麼是fomer? fomer是一個基於React的前端庫,可以方便地創建表單。使用它,你不需要編寫HTML表單,只需要使用JavaScript以及一些CSS類名即可創建美麗的…

    編程 2025-04-25
  • 深入淺出:volidate表單驗證庫詳解

    表單驗證是Web開發中很重要的一部分,不僅能幫助我們輕鬆驗證所需要的輸入數據、保證數據的完整性和一致性,還能夠給用戶帶來更好的體驗。而volidate則是一款方便易用的表單驗證庫,…

    編程 2025-04-23
  • 使用Springboot發送郵件的多種方式

    一、發送簡單文本郵件 在Springboot中,可以使用JavaMailSender類很方便地發送簡單的文本郵件。首先,需要在其配置文件中添加郵件配置,如下所示: spring.m…

    編程 2025-04-23
  • Coremail郵件系統漏洞分析

    一、漏洞概述 Coremail郵件系統是國產商用郵件系統,由北京世紀互聯萬網科技有限公司開發。該郵件系統存在多個漏洞,其中包含身份認證繞過(CVE-2015-0986)、SQL注入…

    編程 2025-04-23
  • Vue表單提交實踐與總結

    一、vue提交表單沒反應 1、檢查表單是否綁定到正確的數據 <form v-on:submit.prevent=”submitForm”> <!– … –…

    編程 2025-04-23
  • 表單元素詳解

    表單元素是 HTML 中非常重要的一部分,它們用於收集用戶的輸入數據並將其發送到服務器進行處理。下面我們從多個方面來詳細地闡述表單元素的相關知識。 一、表單的基礎結構 首先,我們需…

    編程 2025-04-13
  • elementform: 表單開發的神器

    一、elementform 簡介 elementform 是一個 Vue.js 表單組件,它是 Element UI 中的一個核心組件。它為表單處理各種樣板工作提供了高效的解決方案…

    編程 2025-02-24
  • Jenkins郵件通知配置詳解

    一、基本設置 Jenkins是一個開源的持續集成工具,他的郵件通知功能使得開發人員無需人工干預,就可以得到構建結果的相關信息,包括成功或失敗。在使用Jenkins郵件通知前,我們需…

    編程 2025-02-05

發表回復

登錄後才能評論