美文网首页
快速使用SendCloud

快速使用SendCloud

作者: 刘笔达 | 来源:发表于2014-04-15 14:38 被阅读0次

    SendCloud是国内最大触发邮发送平台, 旨在提供满足中小企业, 创业者需求的邮件发送服务.

    面向开发同学

    SendCloud的API支持Html, Java, Python, C/C++/C#, PHP, Ruby, Perl等多种开发语言, 每一种语言我们都提供了详尽的示例和文档.

    下面以Python为例, 介绍如何通过API使用SendCloud:

    1. 注册帐号之后, 你将获得api_user和api_key
    2. 填写邮件的发件人, 收件人等信息, 构建发送参数params
    params = { "api_user": "yourusername", \
        "api_key" : "password",\
        "from" : "boy@qq.com", \
        "to" : "girl@qq.com", \
        "fromname" : "your_boy", \
        "subject" : "主题", \
        "html": "正文" \
    }
    
    1. 带上参数, 发起Http请求, 即可
    url="https://sendcloud.sohu.com/webapi/mail.send.xml"
    r = requests.post(url, data=params)
    print r.text
    
    1. 发附件也是很简单, 指明附件的本地地址即可
    #!/usr/bin/python
     #coding:utf-8
    import requests
    url="https://sendcloud.sohu.com/webapi/mail.send.xml"
    files={"file1": ("1.html", open("/home/doc/1.html", "rb")), \
            "file2": (u"用户手册.docx", open(u"/home/doc/用户手册.docx"))}
    params = { "api_user": "yourusername", \
        "api_key" : "password",\
        "from" : "boy@qq.com", \
        "to" : "girl@qq.com", \
        "fromname" : "your_boy", \
        "subject" : "主题", \
        "html": "正文" \
    }
    r = requests.post(url, files=files, data=params)
    print r.text
    

    以上是最简单的代码示例, 更多的代码示例可以看这里, 更深入的功能请看这里

    面向运维同学

    SendCloud支持SMTP协议的接入方式. 你既可以编写客户端(示例)来进行发信, 也可以把邮件流量直接切入SendCloud实现发信.

    下面以Postfix为例, 介绍如何把邮件转发给SendCloud:
    简单的说, 只需要让Postfix支持SASL验证就可以连接SendCloud了

    1. 注册帐号, 获得api_user和api_key
    2. 安装Cyrus SASL
      可以到这里去下载最新的cyrus版本, 建议版本cyrus-sasl-2.1.x
    # wget ftp://ftp.andrew.cmu.edu/pub/cyrus-mail/cyrus-sasl-2.1.22.tar.gz
    # tar -zxvf cyrus-sasl-2.1.22.tar.gz
    # cd cyrus-sasl-2.1.22
    # ./configure --enable-login --enable-ntlm
    # make && make install
    
    1. 重新编译Postfix, 使之支持SASL
    # wget ftp://ftp.cuhk.edu.hk/pub/packages/mail-server\
        /postfix/official/postfix-2.10.0.tar.gz
    # tar -zxvf tar -zxvf postfix-2.10.0.tar.gz
    # cd postfix-2.10.0
    # make tidy
    # make makefiles CCARGS="-DUSE_SASL_AUTH -DUSE_CYRUS_SASL \
        -I/usr/local/include/sasl" AUXLIBS="-L/usr/local/lib -lsasl2"
    # make install
    
    1. 配置Postfix参数
      /etc/postfix/main.cf的相关配置如下:
    mynetworks = 192.168.0.0/16 10.0.0.0/8 127.0.0.1/32
    smtpd_relay_restrictions = permit_mynetworks, \
    permit_sasl_authenticated, defer_unauth_destination
    #sasl client supporting
    smtp_sasl_auth_enable = yes
    # relay到SendCloud的smtp服务器
    relayhost = [smtpcloud.sohu.com]
    # api_user和api_key
    smtp_sasl_password_maps = hash:/etc/postfix/sasl_passwd
    smtp_sasl_security_options =
    smtp_sasl_mechanism_filter =
    

    /etc/postfix/sasl_passwd中配置api_user和api_key

    # cd /etc/postfix/
    # echo 'smtpcloud.sohu.com api_user:api_key' > /etc/postfix/sasl_passwd
    # postmap sasl_passwd
    # postmap -q smtpcloud.sohu.com sasl_passwd
    

    重启Postfix服务之后, 经过此服务器的邮件就被转发给SendCloud了.

    是不是很简单呢? 赶紧注册帐号来试试吧!

    相关文章

      网友评论

          本文标题:快速使用SendCloud

          本文链接:https://www.haomeiwen.com/subject/hylhtttx.html