我有一个带有3 ips的win server 2003,我正在制作一个发送批量邮件的程序,但是我想在发送电子邮件时在3 ips之间切换,例如,使用第一个ip发送的第一封邮件和第二个邮件使用第二个IP和第三个邮件使用第三个IP,我知道如何使用C#发送邮件,但有没有任何类选择交换机IP或其他东西,我实际上不期待代码,我想任何想法,所以我可以开始挖掘。
答案 0 :(得分:3)
3个IP是不够的。你有3个邮件服务器使用3 ips?如果是,那是可能的。
我会使用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(...);
答案 1 :(得分:1)
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");
}
}