分类 PHP 下的文章

要改成用php發送郵件, 首先要安裝 phpmailer, 執行
$ composer require phpmailer/phpmailer
出現錯誤如下
08126-peiq3jt098k.png

之前項目應該沒初始化過先跑初始化, 所以先執行composer初始化

$ composer install

出現不少錯誤, 後來發現安裝的 composer 版本太高, composer 2.7.9 已經不支持 php 7.4
改回去使用 composer 1 發現版本太低 repo 都不支持, 改用 composer 1.10.27
13168-1raq7jptfy8.png

在這邊下載 composer.phar
41622-o2jbwpwsbi.png

下載後將 composer.phar 放在 composer1.0.27 目錄下, 並新增 composer.bat 在同目錄下, 編輯內容如下:

@echo OFF
: in case DelayedExpansion is on and a path contains !
setlocal DISABLEDELAYEDEXPANSION
php "%~dp0composer.phar" %*

設定 composer 到環境設定 path 下
C:\Users\joker\Downloads\composer1.0.27

在cmd查看版本
$ composer -V
Composer version 1.10.27 2023-09-29 10:50:23

安裝時遇到PHP版本太新的問題, 到 path 裡面修改成 php5.4 的版本, 確認版本調整到 5.4
55461-4yn6waf9ows.png

安裝時遇到擴展問題
08082-6kyznxoiyqm.png

找到 php.ini 開啟 gd 擴展
45055-qpr6yv32bif.png

最後安裝還是發現 repo 不支持 composer1 版本, 試了幾個都不行, 後來發現華為靜像支持
https://mirrors.huaweicloud.com/repository/php

$ composer config -g repo.packagist composer https://mirrors.huaweicloud.com/repository/php

再執行安裝, 通過了
$ composer require phpmailer/phpmailer:*
21910-5xup7g4wgif.png

php發送代碼如下

$mail = new PHPMailer(true);
$mail->isSMTP();
$mail->Host       = 'smtp.gmail.com';
$mail->SMTPAuth   = true;
$mail->Username   = 'jokerjkeeper@gmail.com';
$mail->Password   = '**** '**** '**** '****';
$mail->SMTPSecure = PHPMailer::ENCRYPTION_SMTPS;
$mail->Port       = 465;
$mail->Timeout    = 5;
$mail->setFrom(''****@gmail.com', 'Mailer');
$mail->addAddress($email, 'Joe User');

//Content
$mail->isHTML(true);        
$mail->CharSet = "utf-8";                              
$mail->Subject = '歡迎使用'****'; //'验证你的电子邮件';
$mail->Body    = '歡迎使用'****';
$mail->send();