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

原创 2016年08月30日 16:56:15

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


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


【步骤如下】:

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文件里面了


版权声明:本文为博主原创文章,未经博主允许不得转载。

相关文章推荐

【JavaMail开发总结】配置文件形式--发送邮件程序

在上一篇中简单的实现了一个发送邮件功能的程序,今天用配置文件的方式来实现,大致思路一致,示例代码如下: package com.javamail.test.demo;import java.io.IO...

阿里云企业邮件使用安全及DirectMail开发

随着互联网的发展,伴随着QQ等邮件服务商的走红,传统的国外那一套邮件规则和秩序已经发生了改变,有时候就算你有很多IP,做了反向解析,在Spamhaus白名单,又或者虚拟了不同的helo域,QQ邮箱还是...
  • nui111
  • nui111
  • 2017-02-11 17:23
  • 2053

java项目——发邮件之阿里云邮箱推送服务(一)

最近做项目的时候用到了阿里云的邮箱推送。首先站在我自己的理解的角度,为什么要用阿里云邮箱推送服务?     首先从万网说起。     中国万网是中国最大的互联网基础服务提供商之一,服务范围涵盖基础...

阿里云邮件系统

  • 2017-05-11 21:16
  • 278KB
  • 下载

"顶易中国"整理邮件发送详解

电子邮件在Internet上发送和接收其实和我们日常生活中的邮寄服务一样:当我们要寄一个包裹的时候,我们首先要找到一个有这项业务的邮局,在填写完收件人姓名、地址等信息之后,包裹就寄到了收件人所在地的邮...

一个python的邮件发送脚本,自动,定时,可以附件发送,抄送,附有说明文件

#!/bin/env python # -*- coding: utf-8 -*-     import datetime import smtpli...
  • wxmiy
  • wxmiy
  • 2015-03-19 15:31
  • 311

一个python的邮件发送脚本,自动,定时,可以附件发送,抄送,附有说明文件 (本脚本是python的2.7.x环境下可用)

PS(2013-03-27):最近这个脚本用到了公司的另个项目中,才发现有个bug:发件人配置之后,无法起作用。现在查明是 (sendername,senderpass)=getUserAndPass...

阿里云官方ECS开发文档

  • 2015-07-10 10:20
  • 628KB
  • 下载

阿里云开发文档

  • 2012-01-12 23:53
  • 2.60MB
  • 下载

阿里云CentOS Linux服务器上用postfix搭建邮件服务器

注:本文的邮件服务器只用于发送邮件,也就是STMP服务器。 一、准备工作 1. 为邮件服务器添加DNS解析 虽然不加DNS解析也能把邮件发出去,但会被大多数邮件服务器当作垃圾邮件。根...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:深度学习:神经网络中的前向传播和反向传播算法推导
举报原因:
原因补充:

(最多只允许输入30个字)