收藏本站
我的资料
我的订单
  购物车 (0)  
亲,您的购物车空空的哟~
去购物车结算
   
查看手机网站
其他帐号登录: 注册 登录
产品导航
  • 网页特效源码
    图片代码
    导航菜单
    选项卡/滑动门
    文字特效
    表单代码
    提示框/浮动层/弹出层
    DIV CSS
    html5 css3
    其他特效
  • 网站模板源码
    电脑、通讯、数码
    家具洁具、日用品
    建材、五金、装饰
    纺织、服装、鞋帽
    礼品玩具、工艺品
    家电、照明、电子
    文具、乐器、体育
    机电、仪器、设备
    食品、饮料、酒类
    汽车、摩托电动车
    能源、环保、节能
    冶金、金属、零件
    农业、水产、养殖
    矿产、石油、化工
    珠宝首饰、化妆品
    医药医器、保健品
    包装、印刷、造纸
    书画、艺术、收藏
    通用、其他制造业
    房地产、建筑装修
    餐饮、咖啡、茶楼
    咨询、策划、翻译
    金融、证券、典当
    健身、运动俱乐部
    家政、保洁、搬家
    医院、诊所、保健
    旅游宾馆、农家乐
    美容、休闲、养生
    婚庆、摄影、影楼
    仓储、物流、租车
    维修、保养、回收
    广告、会展、设计
    文化、教育、培训
    政府、协会、机构
    其他行业网站
  • 小程序源码
  • 游戏源码
  • 微信公众平台源码
  • 营销软件
  • 云虚拟主机
    全能型云虚拟主机
    海外免备案主机
    高防云享主机
    专业型云虚拟机
    Linux专业型云虚拟机
    .NET专业型云虚拟机
    JSP专业型云虚拟机
    百度云虚拟机(BCH)
  • 旅游系统
    旅游网站模板
    组合套餐
    产品应用
    营销应用
    内容应用
    供应分销应用
    插件接口应用
    SAAS版本应用
  • Cisco设备
    交换机
    路由器
    无线
    网络管理
    接口和模块
    光网络
  • IBM设备
    服务器
  • 华为设备
    交换机
    路由器
    WLAN
    存储
  • 智能设备

18093723998
搜索

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

 二维码
发表时间:2020-06-29 17:52
当我们要做邮箱验证码的时候,利用其它第三方的邮件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@szfangwei.cn', //发件地址
        '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('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();
            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封免费的,用户量大的话,超过的话是 超过就需要购买邮件推送资源包


价格相比短信验证还是比较便宜的,性价比还是可以的,当然你的服务器配置很多网速好的话也可提供提供邮件的速度和稳定性。
关注我们
关于我们
天隆网络科技有限责任公司励志为顾客提供出更好的网站建设、二次开发、管理、维护系统等。本团队为此收录了大量的技术和相关人员。公司积极鼓励客户前来本站交流互动,积极鼓励为本站提出创新的好点子 本团队专注于企业的网站设计制作,为刚接触网站开发和运营的客户提供更好的帮助到你的解决方案。
服务范围
联系我们
QQ:1602299552
邮箱:dhtlit@qq.com
电话:18093723998
付款方式:现金,刷卡,支付宝,微信