每次使用不同的ip发送邮件

时间:2012-01-14 15:12:16

标签: c# email ip

我有一个带有3 ips的win server 2003,我正在制作一个发送批量邮件的程序,但是我想在发送电子邮件时在3 ips之间切换,例如,使用第一个ip发送的第一封邮件和第二个邮件使用第二个IP和第三个邮件使用第三个IP,我知道如何使用C#发送邮件,但有没有任何类选择交换机IP或其他东西,我实际上不期待代码,我想任何想法,所以我可以开始挖掘。

2 个答案:

答案 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");
    }
}