关闭

阿里云单邮件发送 - 整理说明文档

标签: yii2.0阿里云邮件单邮件发送
1589人阅读 评论(0) 收藏 举报

【简述】: 大家好,都说用网上插件,很方便,手册上面写的都有,但是我为什么感觉对于我一个初级程序猿妹妹来说,我好多看不懂,有的时候不知道去哪找,因为一方面我们项目中用到的东西好多都是大神封装好的,而我们小兵都是拿来用,但是这次碰到一个需求,对于我来说新的知识,因为我在用的过程中,也碰到了好多问题,所以我在这进行以我的理解去描述用法和流程,一方面是我记性有点不好,防止下次使用,我会忘记; 另一方面,万一也有向我一样的小白,我还可以帮帮他们........嘿嘿


【示例】:阿里云单邮件发送


【步骤如下】:

1:首先你需要去阿里云官网上看,仔细查看邮件推送说明文档;

php的邮件推送sdk说明    (详见:https://help.aliyun.com/document_detail/29460.html?spm=5176.product29412.6.139.yXwEtV)

sdk下载: 直接下载http://aliyundm.oss-cn-hangzhou.aliyuncs.com/example/aliyun-php-sdk-dmV3.zip(已经包含发送短信接口)

说明:当你仔细查看他们的sdk说明的时候,发现,其实就是让你下载,然后应用到你的项目中,它上面有一段代码就是主要调用阿里云的单邮件发送接口,所以你会发现,里面需要一些配置,那就是要在你在阿里云上进行配置了,否则,你不知道填什么啊

另外:初次找他们的文档,你可能不知道位置,

帮助文档位置:帮助与文档 -- 应用服务下(邮件推送)

具体地址:https://help.aliyun.com/document_detail/29426.html?spm=5176.doc29460.6.113.TtRDNA


2: 由于我们调用邮件发送接口的时候,需要用到Access Key,如果你之前没有创建,此时,你需要去创建Access Key。

     

3:下面就是做一些“邮件配置” (具体配置在:https://dm.console.aliyun.com/#/directmail/Home    产品与服务 --- 邮件推送  (因为我之前就找不到在哪里进行配置))

   

     

       (蓝色星星)  发信域名(这里注意:要使用二级域名,避免因为外发信誉等问题影响一级域名)

             说明:这里需要提示的是:填写域名的时候,比如你买的是一级域名,那么你可以在这个域名前面随意加个,例如  aliyundm.notice.iheima.com

                       其他的你就按照步骤就行了

       (蓝色星星)  发信地址  - 他就用到了,你设置的发信域名,你按照步骤配置下就好了

       (蓝色星星)  邮件标签  - 这个可以随便填写


4: 把sdk放到我们的项目目录中,具体的目录引入改成YII2.0的形式。

具体代码如下:

/**
 * @link http://www.iheima.com/
 * @copyright Copyright (c) 2016 Heima
 */
namespace common\helpers;
use Yii;
use yii\base\Component;
use common\helpers\AliyunSdkCore\Config;
use common\helpers\AliyunSdkCore\Profile\DefaultProfile;
use common\helpers\AliyunSdkCore\DefaultAcsClient;
use common\helpers\AliyunSdkDm\Dm\Request\V20151123\SingleSendMailRequest;
use common\helpers\AliyunSdkDm\Dm\Request\V20151123\BatchSendMailRequest;
use common\helpers\AliyunSdkCore\Exception\ClientException;
use common\helpers\AliyunSdkCore\Exception\ServerException;
require(__DIR__ . '/AliyunSdkCore/Config.php');
 
/**
 * AliyunSendEmail Class
 * @author oceanyang <daxia@chuangyejia.com>
 */
class AliyunSendEmail extends Component
{
    /**
     * @var string 区域标志
     */
    public $region = 'cn-beijing';
    /**
     * @var string accessKey
     */
    public $accessKey = '你自己的access_key';
    /**
     * @var string accessSecret
     */
    public $accessSecret = '你自己的access_secret<span style="font-family: Arial, sans-serif;">';</span>
    /**
     * @var string 控制台创建的发信地址
     */
    public $accountName = '<span style="font-family: Arial, sans-serif;">发信地址</span>';
    /**
     * @var string 发信人昵称
     */
    public $fromAlias = '创业黑马';
    /**
     * @var string 控制台创建的标签
     */
    public $tagName = 'CRM';
 
     public function aliyunSendEmail($email, $title, $content)
    {
        //获取配置信息
        $region = $this->region;
        $accessKey = $this->accessKey;
        $accessSecret = $this->accessSecret;
        $accountName = $this->accountName;
        $fromAlias = $this->fromAlias;
        $tagName = $this->tagName;
        $iClientProfile = DefaultProfile::getProfile($region, $accessKey,
                $accessSecret);
        //发送单个邮件示例
        $client = new DefaultAcsClient($iClientProfile); 
        $request = new SingleSendMailRequest();    
        $request->setAccountName($accountName);
        $request->setFromAlias($fromAlias);
        $request->setAddressType(1);
        $request->setTagName($tagName);
        $request->setReplyToAddress("true");
        //收件人
        $request->setToAddress($email); 
        //发信标题     
        $request->setSubject($title);
         
        //发信内容
        $request->setHtmlBody($content); 
       
        try {
            $response = $client->getAcsResponse($request);
            if ($response) {
                return $response;
            }
        } catch (ClientException  $e) {
            Yii::error($e->getErrorMessage());
            return null;
        } catch (ServerException  $e) { 
            Yii::error($e->getErrorMessage());
            return null;
        }
    }

然后,我们是把一些基本的数据配置到main.php文件里面了


0
0

猜你在找
【直播】机器学习&数据挖掘7周实训--韦玮
【套餐】系统集成项目管理工程师顺利通关--徐朋
【直播】3小时掌握Docker最佳实战-徐西宁
【套餐】机器学习系列套餐(算法+实战)--唐宇迪
【直播】计算机视觉原理及实战--屈教授
【套餐】微信订阅号+服务号Java版 v2.0--翟东平
【直播】机器学习之矩阵--黄博士
【套餐】微信订阅号+服务号Java版 v2.0--翟东平
【直播】机器学习之凸优化--马博士
【套餐】Javascript 设计模式实战--曾亮
查看评论
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
    个人资料
    • 访问:30841次
    • 积分:599
    • 等级:
    • 排名:千里之外
    • 原创:30篇
    • 转载:7篇
    • 译文:0篇
    • 评论:7条
    文章分类
    最新评论