登录
   
您的位置: 首页 >> SoftHub关联区 >> 主题: 一个能用 golang dkim 邮件签名库     [回主站]     [分站链接]
一个能用 golang dkim 邮件签名库
clq
浏览(550) - 2018-10-30 12:52:49 发表 编辑

关键字: golang

[2023-01-16 07:26:49 最后更新]
一个能用 golang dkim 邮件签名库
https://github.com/toorop/go-dkim

有人提到过,不过好象没看到有人写明,所以放一个上来吧.
要说的是它的示例是过不了现在的一些邮件检测工具的,原因大概是签名的字段没有在邮件中出现. 我们现在能用的代码大概如下:
func make_dkim_mail(emailBase string) (string){
    fmt.Println("make_dkim_mail()");

    defer PrintError("make_dkim_mail"); //奇怪没有阻止异常//不是没阻止,是返回值为空了

    //--------------------------------------------------
       
    // email is the email to sign (byte slice)
    // privateKey the private key (pem encoded, byte slice )   
   
    options := dkim.NewSigOptions(); //从源码可知,默认用的算法是 "rsa-sha256",
   
    //options.PrivateKey = privateKey; //私钥,应该可以用 openssl 生成
    ////options.PrivateKey = []byte(privateKey); //私钥,应该可以用 openssl 生成
    options.PrivateKey = []byte(gPrivateKey_dkim_email); //私钥,应该可以用 openssl 生成
   
    email := []byte(emailBase);
   
    //options.Domain = "mydomain.tld"
    options.Domain = "newbt.net"
    //options.Selector = "myselector"; //不清楚做什么用//163.com 的是 s110527 这样的
    options.Selector = "default"; //不清楚做什么用//163.com 的是 s110527 这样的//似乎是要和 dns 中的相对应
    ////options.SignatureExpireIn = 3600; //似乎是过期时间,怎样设置成永久? qq 推荐为永久//似乎不要这个就不要有 "x" 标记值了
    ////options.BodyLength = 50; //似乎不要这个比较好
   
    ////options.Headers = []string{"from", "date", "mime-version", "received", "received"}
    //var headers = new string[] { "From", "To", "Subject" }; //参考 https://www.cnblogs.com/dudu/archive/2013/03/02/csharp-dkim-sendmail.html
   
    options.Headers = []string{"from", "to", "subject"}; //照例子签名太多字段是过不了检测的
   
    options.AddSignatureTimestamp = true
    options.Canonicalization = "relaxed/relaxed"; //计算方式,表示 crlf 和 空白的算法
    err := dkim.Sign(&email, options)
    // handle err..

    // And... that's it, 'email' is signed ! Amazing© !!!
   
    fmt.Println(err);
    fmt.Println(string(email));
   
    return string(email);
}//



总数:0 页次:1/0 首页 尾页  
总数:0 页次:1/0 首页 尾页  


所在合集/目录
邮件DKIM专题 更多



发表评论:
文本/html模式切换 插入图片 文本/html模式切换


附件:



NEWBT官方QQ群1: 276678893
可求档连环画,漫画;询问文本处理大师等软件使用技巧;求档softhub软件下载及使用技巧.
但不可"开车",严禁国家敏感话题,不可求档涉及版权的文档软件.
验证问题说明申请入群原因即可.

Copyright © 2005-2020 clq, All Rights Reserved
版权所有
桂ICP备15002303号-1