J9国际集团|Home

135-2716-3909
网站建设资讯详细

PHP利用阿里□□云邮件推□□□送功能做网站邮件发送

发表日期:2026-07-04 16:31:02   作者来源:刘红旺   浏览:4503   标签:邮件推送    
当我们要做邮箱验证码的时候,利用其它第三方的邮件smtp,进行邮件发送会出现用户收不到邮件,或者收到邮件会很慢,而阿里云邮件推送的功能可以解决,稳定实时的发送邮件给客户,

邮箱验证码

首先在阿里云邮件推送设置一个域名
再到域名哪里解析如下:

邮箱域名解析

解析成功后严重通过后就可以写程序
https://github.com/aliyun/openapi-sdk-php
在这个地址下载php  sdk
vendor('sdk.vendor.autoload');
use AlibabaCloud\Client\AlibabaCloud;
use AlibabaCloud\NlsCloudMeta\NlsCloudMeta;
use AlibabaCloud\Client\Exception\ClientException;
use AlibabaCloud\Client\Exception\ServerException;
引入sdk文件
vendor('sdk.vendor.autoload');
use AlibabaCloud\Client\AlibabaCloud;
use AlibabaCloud\NlsCloudMeta\NlsCloudMeta;
use AlibabaCloud\Client\Exception\ClientException;
use AlibabaCloud\Client\Exception\ServerException;
 
class AliyunemailService {
    function __construct() {
       // $fwconfig = D('Config')->getAll();
        $config = array(
        'MAIL_CHARSET' => 'UTF-8',
        'MAIL_SMTPAUTH' => true, //是否使用身份验证
        'MAIL_ISHTML' => true, //是否使用html
        'MAIL_USERNAME' => '', //发件地址
        // 'MAIL_USERNAME' => 'send3@https://www.lyzhuzao.com/', //发件地址
        'MAIL_SMTPHOST' => '', //smtp地址
        'MAIL_PASSWORD' => '', //发件地址密码
        'MAIL_GET_ADDRESS' => '', //默认收件箱
        );
        $this->mailconfig = $config;
    }
 
    /**
     * 发送邮件
     * @param $get_email
     * @param $data array('title'=>'','title2'=>'','detail'=>'')
     * @return bool
     */
    public function sendEmail($data, $get_email = '') {
        $mail = $this->setBaseConfig($data, $get_email);
        return $mail;
    }
 
    /**
     * 邮件基本设置
     * @param $mail
     * @param $data
     * @param string $get_email
     * @return mixed
     */
    public function setBaseConfig($data, $get_email = '') {
        AlibabaCloud::accessKeyClient('LTAImdH845znjHst', 'Vsimrg02TDW1wrM100LvvEbGtrGu6S')
                        ->regionId('cn-hangzhou')
                        ->asDefaultClient();
        try {
            $result = AlibabaCloud::rpc()
                ->product('Dm')
                // ->scheme('https') // https | http
                ->version('2026-04-26')
                ->action('SingleSendMail')
                ->method('POST')
                ->host('dm.aliyuncs.com')
                ->options([
                 'query' => [
                 'RegionId' => "cn-hangzhou",
                 'AccountName' => "",//发件人
                 'AddressType' => "1",
                 'ReplyToAddress' => "false",
                 'ToAddress' => $get_email,//收件人
                 'Subject' => $data['title'],
                 'TagName' => "tag",//不用管
                 'HtmlBody' => $data['detail'],//发送html格式的内容
                 'TextBody' => "",//发送文本内容
                 'FromAlias' => $data['title2'],//发件人昵称
                 'ReplyAddress' => "",//回件邮箱
                 'ReplyAddressAlias' => "客户",//不用管
                 'ClickTrace' => "0",
                            ],
                        ])
                ->request();
            return true;
        } catch (ClientException $e) {
            return $e->getErrorMessage() . PHP_EOL;
        } catch (ServerException $e) {
            return $e->getErrorMessage() . PHP_EOL;
        }
    }
}
 
 
调用邮件发送:
    $AliyunemailService = new Service\AliyunemailService();
    $result = $AliyunemailService->sendEmail($email_data,$data['email']);
需要注意□□□的是阿里□□□云的邮件□□推送功能 每天有200封免费的,用户量大□□□的话,超过的话□□□是 超过就需□□□要购买邮□□□□件推送资□□源包
 

邮箱推送


价格相比◤短信验证□□□还是比较□□□□便宜的,性价比还□□□□是可以的,当然你的□□□□服务器配□□□置很多网□□□□速好的话•也可提供□□□□提供邮件□□□的速度和◇稳定性。
如没特殊注明,文章均为J9国际集团原创,转载请注明来自https://www.lyzhuzao.com/news/5721.html