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

2023-03-13    分类: 网站建设

邮箱验证码

当我们要做邮箱验证码的时候,利用其它第三方的邮件smtp,进行邮件发送会出现用户收不到邮件,或者收到邮件会很慢,而阿里云邮件推送的功能可以解决,稳定实时的发送邮件给客户,
首先在阿里云邮件推送设置一个域名

邮箱域名解析

再到域名哪里解析如下:
解析成功后严重通过后就可以写程序
https://github.com/aliyun/openapi-sdk-php
在这个地址下载php sdk
vendor('sdk.vendor.autoload');
useAlibabaCloud\Client\AlibabaCloud;
useAlibabaCloud\NlsCloudMeta\NlsCloudMeta;
useAlibabaCloud\Client\Exception\ClientException;
useAlibabaCloud\Client\Exception\ServerException;
引入sdk文件
vendor('sdk.vendor.autoload');
useAlibabaCloud\Client\AlibabaCloud;
useAlibabaCloud\NlsCloudMeta\NlsCloudMeta;
useAlibabaCloud\Client\Exception\ClientException;
useAlibabaCloud\Client\Exception\ServerException;
classAliyunemailService{
function__construct(){
//$fwconfig=D('Config')->getAll();
$config=array(
'MAIL_CHARSET'=>'UTF-8',
'MAIL_SMTPAUTH'=>true,//是否使用身份验证
'MAIL_ISHTML'=>true,//是否使用html
'MAIL_USERNAME'=>'',//发件地址
//'MAIL_USERNAME'=>'send3@cdcxhl.cn',//发件地址
'MAIL_SMTPHOST'=>'',//smtp地址
'MAIL_PASSWORD'=>'',//发件地址密码
'MAIL_GET_ADDRESS'=>'',//默认收件箱
);
$this->mailconfig=$config;
}
/**
*发送邮件
*@param$get_email
*@param$dataarray('title'=>'','title2'=>'','detail'=>'')
*@returnbool
*/
publicfunctionsendEmail($data,$get_email=''){
$mail=$this->setBaseConfig($data,$get_email);
return$mail;
}
/**
*邮件基本设置
*@param$mail
*@param$data
*@paramstring$get_email
*@returnmixed
*/
publicfunctionsetBaseConfig($data,$get_email=''){
AlibabaCloud::accessKeyClient('LTAImdH845znjHst','Vsimrg02TDW1wrM100LvvEbGtrGu6S')
->regionId('cn-hangzhou')
->asDefaultClient();
try{
$result=AlibabaCloud::rpc()
->product('Dm')
//->scheme('https')//https|http
->version('2015-11-23')
->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();
returntrue;
}catch(ClientException$e){
return$e->getErrorMessage().PHP_EOL;
}catch(ServerException$e){
return$e->getErrorMessage().PHP_EOL;
}
}
}
调用邮件发送:
$AliyunemailService=newService\AliyunemailService();
$result=$AliyunemailService->sendEmail($email_data,$data['email']);
需要注意的是阿里云的邮件推送功能 每天有200封免费的,用户量大的话,超过的话是 超过就需要购买邮件推送资源包

邮箱推送

网站标题:PHP利用阿里云邮件推送功能做网站邮件发送
本文地址:https://www.cdcxhl.com/news/243978.html

成都网站建设公司_创新互联,为您提供外贸建站企业网站制作企业建站网站导航小程序开发搜索引擎优化

广告

声明:本网站发布的内容(图片、视频和文字)以用户投稿、用户转载内容为主,如果涉及侵权请尽快告知,我们将会在第一时间删除。文章观点不代表本网站立场,如需处理请联系客服。电话:028-86922220;邮箱:631063699@qq.com。内容未经允许不得转载,或转载时需注明来源: 创新互联

小程序开发