每次使用不同的ip发送邮件
本文关键字:ip | 更新日期: 2023-09-27 18:20:22
我有一个win-server 2003,它有3个ip,我正在制作一个发送大量邮件的程序,但我想在发送电子邮件时在这3个ip之间切换,例如,使用第一个ip发送的第一封邮件,使用第二个ip发送第二封邮件,以及使用第三个ip发送第三封邮件,我知道如何使用C#发送邮件,但有没有选择切换ip之类的类,我其实并不期待代码,我想要任何想法,这样我就可以开始挖掘了。
3个IP是不够的。你有3台使用3个ip的邮件服务器吗?如果是的话,这是可能的。
我会使用Random
。。。
Random r = new Random();
int mailServer = r.Next(1, 3);
SmtpClient client;
if (mailServer == 1) client = new SmtpClient("mail1.yourdomain.com");
else if (mailServer == 2) client = new SmtpClient("mail2.yourdomain.com");
else client = new SmtpClient("mail3.yourdomain.com");
client.Send(...);
SmtpClient
构造函数接受您的服务器地址,所以您可以以这种方式使用
class Program
{
static string[] addresses = new string[]
{ "192.168.0.1", "215.100.100.100", "110.100.100.100" };
static void Main(string[] args)
{
SmtpClient server1 = GetClient(0);
// stuff to send mail with 1st server
SmtpClient server2 = GetClient(1);
// stuff to send mail with 2nd server
// etc.
}
private static SmtpClient GetClient(int id)
{
if (addresses[id] != null)
return new SmtpClient(addresses[id]);
throw new ArgumentException("No such server");
}
}