通过gmail smtp从asp.net发送电子邮件

时间:2011-05-27 08:44:20

标签: asp.net email smtp

我有专门的服务器。自从第一天起,我的IP就被雅虎封锁了。目前我每天都有40000封电子邮件。我决定创建400个 Gmail 帐户,并通过gmail smtp服务器从服务器发送电子邮件(每个gmail帐户仅限发送电子邮件给100个收件人)。 此解决方案的好处是所有电子邮件都发送到收件箱无垃圾邮件

你怎么样? 你有更好的解决方案吗? 你知道更好的免费电子邮件提供商有更低的限制吗?

SmtpClient client = new SmtpClient();

5 个答案:

答案 0 :(得分:2)

这听起来就像是垃圾邮件设置。 我怀疑这就是你被雅虎阻止的原因。 我确定您违反了Gmail服务条款。我相信他们会比雅虎花更少的时间来禁止你。 你也完全错过了100个收件人限制点。

我该怎么办?摆脱垃圾邮件业务。

答案 1 :(得分:0)

您应该注册专业的SMTP服务,他们将批量发送您的电子邮件。在Gmail上创建400个电子邮件帐户并使用代码访问它们?这听起来很难以管理。

有些商业网站可以发送您可以集成的电子邮件,每月有4万封电子邮件是很多电子邮件,我甚至认为您在调整此解决方案时违反了一些谷歌使用条款。

您可以购买的普通SMTP服务的工作方式如下:

  • 您每天/每年/每月购买一封电子邮件限制。 4万封电子邮件可能会非常昂贵。
  • 您使用Web服务或其他API集成了服务,您不要使用SmtpClient(在某些情况下,您可以这样做,但是当您发送40 000封电子邮件时,这是正常的,这是不是!)
  • 您使用的是您在系统中设置的模板,因此,您不会从代码中发送自己的“html”,而是使用已确认/已验证的模板。

另一个选择是自己创建一个SMTP发件人,在很长一段时间内批量发送4万封电子邮件,但这也可能会将您列入黑名单。

答案 2 :(得分:0)

我确信设置400个GMail帐户要发送,听起来很像垃圾邮件,与他们的T& Cs相反,他们关闭你只是时间问题。

我建议如果您有合法需要每天发送40000封电子邮件,那么您需要向专门从事批量邮寄的邮件提供商进行注册。

有关详细信息,请参阅此处:Bulk Mail Sending On The Cheap

答案 3 :(得分:0)

MailMessage EmailMsg = new MailMessage();
//                    EmailMsg.From = new MailAddress("yourmail", "dsd");
//                    EmailMsg.To.Add(new MailAddress(txtEmail.Text, "from plain text name"));
//                    EmailMsg.Body = txtMsg.Text;
//                    EmailMsg.IsBodyHtml = true;
//                    EmailMsg.Priority = MailPriority.Normal;

//                    SmtpClient mailClient = new SmtpClient();
//                    mailClient.Host = ("10.10.11.112");
//                    //mailClient.Credentials = new System.Net.NetworkCredential("yourmail", "pass");
//                    mailClient.EnableSsl = false;
//                    mailClient.Port = 25;
//                    mailClient.Send(EmailMsg);

我是这样做的。希望它会帮助你。

答案 4 :(得分:0)

公共类MailMgmt {     私人字符串_From =“asd@gmail.com”;     private string _SMTPServer =“smtp.gmail.com”;     private int _SMTPPort =“587”;     private string _Password =“password”;     private bool _EnableSSL = true;     private string _To = string.Empty;     private string _CC = string.Empty;     private string _BCC = string.Empty;     private string _Subject = string.Empty;     private string _Body = string.Empty;     private string _AttachmentFile = string.Empty;

public string From
{
    get { return _From; }
    set { _From = value; }
}
public string SMTPServer
{
    get { return _SMTPServer; }
    set { _SMTPServer = value; }
}
public int SMTPPort
{
    get { return _SMTPPort; }
    set { _SMTPPort = value; }
}
public string Password
{
    get { return _Password; }
    set { _Password = value; }
}
public bool EnableSSL
{
    get { return _EnableSSL; }
    set { _EnableSSL = value; }
}

public string To
{
    get { return _To; }
    set { _To = value.Trim(); }
}
public string CC
{
    get { return _CC; }
    set { _CC = value.Trim(); }
}
public string BCC
{
    get { return _BCC; }
    set { _BCC = value.Trim(); }
}
public string Subject
{
    get { return _Subject; }
    set { _Subject = value.Trim(); }
}
public string Body
{
    get { return _Body; }
    set { _Body = value.Trim(); }
}
public string AttachmentFile
{
    get { return _AttachmentFile; }
    set { _AttachmentFile = value.Trim(); }
}
public MailMgmt()
{
}
public void SendMail()
{
    bool result = false;
    MailMessage obj = new MailMessage();

    try
    {
        string Expression = @"\w+([-+.']\w+)*@\w+([-.]\w+)*\.\w+([-.]\w+)*";
        string[] StrSpl;
        string[] StrSpl1;
        obj.From = new MailAddress(_From);
        if (_To != "")
        {
            StrSpl = _To.Split(',');
            foreach (string Str in StrSpl)
            {
                if (Regex.IsMatch(Str, Expression))
                {
                    obj.To.Add(Str);
                }
            }
        }
        if (_CC != "")
        {
            StrSpl = _CC.Split(',');
            foreach (string Str in StrSpl)
            {
                if (Regex.IsMatch(Str, Expression))
                {
                    obj.CC.Add(Str);
                }
            }
        }
        if (_BCC != "")
        {
            StrSpl = _BCC.Split(',');
            foreach (string Str in StrSpl)
            {
                if (Regex.IsMatch(Str, Expression))
                {
                    obj.Bcc.Add(Str);
                }
            }
        }
        if (_Subject != "")
        {
            obj.Subject = _Subject;
        }
        if (_Body != "")
        {
            obj.Body = _Body;
        }

        if (_AttachmentFile != string.Empty)
        {
            StrSpl1 = _AttachmentFile.Split(',');
            foreach (string Str in StrSpl1)
            {
                Attachment at = new Attachment(Str);
                obj.Attachments.Add(at);
            }
        }
        obj.IsBodyHtml = true;
        obj.Priority = MailPriority.High;
        SmtpClient client = new SmtpClient(_SMTPServer, _SMTPPort);
        client.EnableSsl = _EnableSSL;
        System.Net.NetworkCredential SMTPUserInfo = new System.Net.NetworkCredential(_From, _Password);
        client.UseDefaultCredentials = false;
        client.DeliveryMethod = SmtpDeliveryMethod.Network;
        client.Credentials = SMTPUserInfo;

        client.Send(obj);
        // return result = true;
    }
    catch (Exception ex)
    {
        //return  result = false;

    }
}

}

使用此课程并轻松发送邮件