钓鱼时如何实现批量发送

本文探讨了在发送大量钓鱼邮件时遇到的时间消耗问题。作者提出了两种解决方案:一是使用Bcc字段批量发送,但无法实现邮件个性化;二是利用并发(goroutine)发送,但需确保SMTP服务器连接数足够,否则可能导致连接重置。文章重点讨论了并发发送邮件的实现细节,包括activeCall参数在管理连接状态中的作用。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

0x01 困境
在做钓鱼邮件时,有时候需要发送的人过多,导致在邮件发送这个过程中花费过多时间。

0x02 解决思路

1,第一种可以用如下这种,直接在收件人中实现批量发送,但是有个问题是,这种情况实现批量发送,所有收件人的邮件内容都是一样,这种就不能实现每个人邮件的特殊化(因为需要在邮件中加入tracker,通过这个tracker来跟踪对应收件人对应邮件的状态),所以这种方法目前有问题。
msg.SetHeader(“Bcc”, mailto…

2,第二种直接就是并发来发送,利用goruntine,每一个收件人对应一个goruntine。这种的问题就是需要自己设置smtp服务器可以接受的连接数,保证客户端到smtp有足够的连接来对应goruntine的数量,否则连接就会重置,造成发送不出去邮件
如下所示,activecall参数的解释
activeCall is an atomic int32; the low bit is whether Close has been called. the rest of the bits are the number of goroutines in Conn.Write.
为0时,代表连接正常,为1时,代表连接关闭。如果smtp的连接数小于goruntine的数量,就会造成连接关闭,activecall参数为1.

在这里插入图片描述
在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值