關於SQL Server 各種安裝失敗均失敗,報錯“等待資料庫引擎恢復控制代碼失敗”的經驗分享
阿新 • • 發佈:2022-03-16
- 開啟郵件smtp服務
- 設定授權碼
- 引入phpmailer類,smtp類
https://github.com/PHPMailer/PHPMailer
//下載PHPMailer並開啟php_openssl、php_socket擴充套件 include_once 'PHPMailer.php'; include_once 'SMTP.php'; $mail = new PHPMailer(); //例項化 $mail->IsSMTP(); // 啟用SMTP $mail->Host = "smtp.yeah.net"; //SMTP伺服器 以163郵箱為例子 $mail->Port = 25; //郵件傳送埠 $mail->SMTPAuth = true; //啟用SMTP認證 $mail->CharSet = "UTF-8"; //字符集 $mail->Encoding = "base64"; //編碼方式 $mail->Username = "[email protected]"; //你的郵箱 $mail->Password = "EFWWFULFELKCUMQY"; //網易郵箱客戶端授權碼 $mail->From = "[email protected]"; //發件人地址(也就是你的郵箱) $mail->FromName = "張某某"; //發件人姓名 $address = "[email protected]";//收件人email $mail->AddAddress($address, "親");//新增收件人(地址,暱稱) //附件 /*$mail->AddAttachment("logo.jpg"); $mail->AddAttachment("1.zip"); $mail->AddAttachment('1.xls','我的附件.xls'); // 新增附件,並指定名稱*/ $mail->IsHTML(true); //支援html格式內容 //$mail->AddEmbeddedImage("logo.jpg", "my-attach", "logo.jpg"); //設定郵件中的圖片$mail->Subject = "你好"; //郵件標題 $mail->Body = '這是HTML郵件正文粗體,<a href="http://www.zhangxuhui.com">啟用</a>'; //郵件主體內容 //傳送 if(!$mail->Send()) { echo "Mailer Error: " . $mail->ErrorInfo; } else { echo "success";
場景:郵箱傳送驗證碼類在php7.3+環境中報錯:
filter_var(): explicit use of FILTER_FLAG_SCHEME_REQUIRED and FILTER_FLAG_HOST_REQUIRED is deprecated
原因:查資料得知,php7.3+棄用了FILTER_FLAG_SCHEME_REQUIRED函式
解決方式:
PHPMailer.php 3599行 if (filter_var('http://' . $host, FILTER_VALIDATE_URL, FILTER_FLAG_HOST_REQUIRED)) { //Is it a syntactically valid hostname? return true; } 更改為: if (preg_match('/http:\/\/[\w.]+[\w\/]*[\w.]*\??[\w=&\+\%]*/is','http://' . $host)) { //Is it a syntactically valid hostname? return true; }
其實就是url地址地址的正則驗證