日本熟妇hd丰满老熟妇,中文字幕一区二区三区在线不卡 ,亚洲成片在线观看,免费女同在线一区二区

SMTP通過(guò)配置項(xiàng)郵件頭控制指定功能

更新時(shí)間:
重要

本文中含有需要您注意的重要提示信息,忽略該信息可能對(duì)您的業(yè)務(wù)造成影響,請(qǐng)務(wù)必仔細(xì)閱讀。

警告

如果配置項(xiàng)的值設(shè)置不正確,發(fā)信會(huì)報(bào)錯(cuò),請(qǐng)務(wù)必經(jīng)過(guò)測(cè)試后再發(fā)布到生產(chǎn)環(huán)境。

郵件推送目前允許用戶(hù)通過(guò)郵件頭X-AliDM-Settings來(lái)控制特定功能。

重要

X-AliDM-Settings 大小寫(xiě)敏感,建議復(fù)制使用。

示例:本次發(fā)信采用默認(rèn)策略(對(duì)批量類(lèi)型的發(fā)信地址發(fā)給特定域名時(shí))會(huì)生成退訂鏈接,退訂過(guò)濾級(jí)別是發(fā)信域名級(jí)別。

  1. 先按照如下格式組一個(gè)json字符串

{"Version": "1.0", "Unsubscribe": {"LinkType": "default", "FilterLevel": "mailfrom_domain"}}
  1. 對(duì)json字符串做base64編碼

eyJWZXJzaW9uIjogIjEuMCIsICJVbnN1YnNjcmliZSI6IHsiTGlua1R5cGUiOiAiZGVmYXVsdCIsICJGaWx0ZXJMZXZlbCI6ICJtYWlsZnJvbV9kb21haW4ifX0=

  1. 編碼值寫(xiě)入為郵件頭X-AliDM-Settings的值。發(fā)送出郵件后,可以查看郵件頭X-AliDM-Settings是否設(shè)置成功。

X-AliDM-Settings: eyJWZXJzaW9uIjogIjEuMCIsICJVbnN1YnNjcmliZSI6IHsiTGlua1R5cGUiOiAiZGVmYXVsdCIsICJGaWx0ZXJMZXZlbCI6ICJtYWlsZnJvbV9kb21haW4ifX0=

用Java代碼來(lái)表示如下:

import com.alibaba.fastjson.JSON;
import org.apache.commons.codec.binary.Base64;
import javax.mail.MessagingException;
import javax.mail.internet.MimeMessage;
import java.util.HashMap;


public class AliDMSetting {
    static public enum UnsubFilterLevel {
        DISABLED("disabled"),
        DEFAULT("default"),
        MAILFROM("mailfrom"),
        MAILFROM_DOMAIN("mailfrom_domain"),
        EDM_ID("edm_id");

        private final String value;

        UnsubFilterLevel(String value) {
            this.value = value;
        }

        public String getValue() {
            return value;
        }
    }
    static public enum UnsubLinkType {
        DISABLED("disabled"), // 不填寫(xiě)退訂link
        DEFAULT("default"),   // 默認(rèn)策略,對(duì)于到谷歌和yahoo的營(yíng)銷(xiāo)地址,啟用en_US類(lèi)型退訂鏈接埋點(diǎn)
        ZH_CN("zh-cn"),       // 中文(簡(jiǎn)體)
        EN_US("en-us");       // 英語(yǔ)(美國(guó)),默認(rèn)

        private final String value;

        UnsubLinkType(String value) {
            this.value = value;
        }

        public String getValue() {
            return value;
        }
    }

    public static String X_ALIDM_SETTING_HEADER_KEY = "X-AliDM-Settings";
    public static String X_ALIDM_SETTING_VERSION = "1.0";
    private UnsubLinkType unsubLinkType;
    private UnsubFilterLevel unsubFilterLevel;
    public AliDMSetting(UnsubLinkType unsubLinkType, UnsubFilterLevel unsubFilterLevel) {
        this.unsubLinkType = unsubLinkType;
        this.unsubFilterLevel = unsubFilterLevel;
    }

    private String generateHeaderValue() {
        HashMap<String,String> unsubSetting = new HashMap<String,String>();
        unsubSetting.put("LinkType", unsubLinkType.getValue());
        unsubSetting.put("FilterLevel", unsubFilterLevel.getValue());

        HashMap<String,Object> setting = new HashMap<>();
        setting.put("Version", X_ALIDM_SETTING_VERSION);
        setting.put("Unsubscribe", unsubSetting);

        return new String( Base64.encodeBase64(JSON.toJSONString(setting).getBytes()) );
    }

    public void generateHeader(MimeMessage message) throws MessagingException {
        message.addHeader(X_ALIDM_SETTING_HEADER_KEY, generateHeaderValue());
    }
}

python示例:

import json
import base64

#退訂邏輯
Unsubscribe_json ={
    "Version":"1.0",
    "Unsubscribe":{
    #請(qǐng)根據(jù)具體需求選擇參數(shù)
        # "LinkType": "disabled",
        "LinkType": "default",
        # "LinkType": "zh-cn",
        # "LinkType": "en-us",

        # "FilterLevel": "disabled",
        # "FilterLevel": "default",
        # "FilterLevel": "mailfrom",
        "FilterLevel": "mailfrom_domain"# ,
        # "FilterLevel": "edm_id"
    }
}
Unsubscribe_jsonTrace = json.dumps(Unsubscribe_json)
Unsubscribe_base64Trace = str(base64.b64encode(Unsubscribe_jsonTrace.encode('utf-8')), 'utf-8')
# print(base64Trace)
msg.add_header("X-AliDM-Settings", Unsubscribe_base64Trace)
#退訂邏輯

目前已經(jīng)支持的功能項(xiàng)如下表

功能點(diǎn)

配置項(xiàng)一級(jí)key

配置項(xiàng)二級(jí)key

配置項(xiàng)描述

退訂功能

Unsubscribe

LinkType

生成的退訂鏈接類(lèi)型。參照退訂功能生成鏈接和過(guò)濾機(jī)制文檔

disabled 不生成

default 采用默認(rèn)策略:對(duì)批量類(lèi)型的發(fā)信地址發(fā)給特定域名時(shí)會(huì)生成退訂鏈接,如帶有關(guān)鍵字"gmail", "yahoo",

"google", "aol.com", "hotmail",

"outlook", "ymail.com"等

zh-cn 生成,給將來(lái)埋點(diǎn)到內(nèi)容準(zhǔn)備

en-us 生成,給將來(lái)埋點(diǎn)到內(nèi)容準(zhǔn)備

FilterLevel

過(guò)濾級(jí)別。參照退訂功能生成鏈接和過(guò)濾機(jī)制文檔

disabled 不過(guò)濾

default 采用默認(rèn)策略,批量地址采用發(fā)信地址級(jí)別過(guò)濾

mailfrom 發(fā)信地址級(jí)別過(guò)濾

mailfrom_domain 發(fā)信域名級(jí)別過(guò)濾

edm_id 賬號(hào)級(jí)別過(guò)濾

收件人收到的郵件頭示例:

以下示例做了脫敏處理,請(qǐng)前往收件箱下載或查看測(cè)試郵件eml文件,獲取郵件頭中的退訂鏈接。

List-Unsubscribe-Post: List-Unsubscribe=One-Click
List-Unsubscribe: <http://dm-cn.aliyuncs.com/trace/v1/unsubscribe?lang=zh-cn&sign=cd03d4d252bxxxxxxxx0d99c&token=eyJjYW1wYWlnbl90aW1lIjoxNzA2MjU3NjxxxxxxxxxxxxxxxxjAzNTUxNDMiLCJtYWlsX2Zyb20iOiJ6azFAdDEuemtkbS54eXoiLCJtYWlsX3RvIjoiemsxQHprZG0ueHl6In0%3D&version=1.0>
說(shuō)明

是否顯示退訂按鈕由收信方的策略決定,部分服務(wù)商只有發(fā)信地址或域名信譽(yù)達(dá)到要求才會(huì)顯示退訂按鈕,建議登錄收信方郵箱進(jìn)行效果測(cè)試。

若還未正常顯示,也可以使用下面命令對(duì)生成的鏈接進(jìn)行測(cè)試。

linux測(cè)試命令:

以下示例做了脫敏處理,請(qǐng)前往收件箱下載或查看測(cè)試郵件eml文件,獲取郵件頭中的退訂鏈接。

curl -X POST "http://dm-cn.aliyuncs.com/trace/v1/unsubscribe?lang=zh-cn&sign=cd03d4d252bxxxxxxxx0d99c&token=eyJjYW1wYWlnbl90aW1lIjoxNzA2MjU3NjxxxxxxxxxxxxxxxxjAzNTUxNDMiLCJtYWlsX2Zyb20iOiJ6azFAdDEuemtkbS54eXoiLCJtYWlsX3RvIjoiemsxQHprZG0ueHl6In0%3D&version=1.0"
或
curl -X POST -d "lang=zh-cn&sign=cd03d4d252bxxxxxxxx0d99c&token=eyJjYW1wYWlnbl90aW1lIjoxNzA2MjU3NjxxxxxxxxxxxxxxxxjAzNTUxNDMiLCJtYWlsX2Zyb20iOiJ6azFAdDEuemtkbS54eXoiLCJtYWlsX3RvIjoiemsxQHprZG0ueHl6In0%3D&version=1.0" "http://dm-cn.aliyuncs.com/trace/v1/unsubscribe"

效果展示:

退訂測(cè)試.png