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

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

更新時(shí)間:
重要

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

警告

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

郵件推送目前允許用戶通過郵件頭X-AliDM-Settings來控制特定功能。

重要

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

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

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

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

eyJWZXJzaW9uIjogIjEuMCIsICJVbnN1YnNjcmliZSI6IHsiTGlua1R5cGUiOiAiZGVmYXVsdCIsICJGaWx0ZXJMZXZlbCI6ICJtYWlsZnJvbV9kb21haW4ifX0=

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

X-AliDM-Settings: eyJWZXJzaW9uIjogIjEuMCIsICJVbnN1YnNjcmliZSI6IHsiTGlua1R5cGUiOiAiZGVmYXVsdCIsICJGaWx0ZXJMZXZlbCI6ICJtYWlsZnJvbV9kb21haW4ifX0=

用Java代碼來表示如下:

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"), // 不填寫退訂link
        DEFAULT("default"),   // 默認(rèn)策略,對于到谷歌和yahoo的營銷地址,啟用en_US類型退訂鏈接埋點(diǎn)
        ZH_CN("zh-cn"),       // 中文(簡體)
        EN_US("en-us");       // 英語(美國),默認(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":{
    #請根據(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

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

disabled 不生成

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

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

"outlook", "ymail.com"等

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

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

FilterLevel

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

disabled 不過濾

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

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

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

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

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

以下示例做了脫敏處理,請前往收件箱下載或查看測試郵件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>
說明

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

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

linux測試命令:

以下示例做了脫敏處理,請前往收件箱下載或查看測試郵件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"

效果展示:

退訂測試.png