отправить письмо с asp.net через Gmail SMTP - PullRequest
0 голосов
/ 27 мая 2011

У меня выделенный сервер. мой IP был заблокирован только с Yahoo, с первого дня. в настоящее время я имею 40000 электронных писем в день. Я решил создать учетную запись 400 Gmail и отправлять электронную почту с сервера через SMTP-сервер Gmail (каждая учетная запись Gmail ограничена для отправки электронной почты 100 получателям). Преимущество этого решения заключается в том, что вся электронная почта отправляется в папку «Входящие» без спама !

как насчет тебя? у вас есть лучшее решение? Знаете ли вы, какой-нибудь лучший бесплатный провайдер электронной почты с меньшим ограничением?

SmtpClient client = new SmtpClient();

Ответы [ 5 ]

2 голосов
/ 27 мая 2011

Это звучит так же, как спам.Я подозреваю, что именно поэтому вы заблокированы от Yahoo.Я уверен, что вы нарушаете условия обслуживания Gmail.Я уверен, что они заберут меньше времени, чем Yahoo.Вы также упускаете точку 100 лимитов получателей.

Что бы я сделал?Выйти из спам-бизнеса.

0 голосов
/ 27 мая 2011

открытый класс MailMgmt {приватная строка _From = "asd@gmail.com";приватная строка _SMTPServer = "smtp.gmail.com";private int _SMTPPort = "587";приватная строка _Password = "пароль";private bool _EnableSSL = true;приватная строка _To = string.Empty;приватная строка _CC = string.Empty;приватная строка _BCC = string.Empty;приватная строка _Subject = string.Empty;приватная строка _Body = string.Empty;приватная строка _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;

    }
}

}

Используйте этот класс и легко отправляйте почту

0 голосов
/ 27 мая 2011
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);

Я сделал это так. Надеюсь, это поможет вам.

0 голосов
/ 27 мая 2011

Я уверен, что установка 400 учетных записей GMail для отправки, что очень похоже на СПАМ, противоречит их правилам и условиям, и это всего лишь вопрос времени, когда они также закроют вас.

Я быЕсли у вас есть законная потребность отправлять 40000 писем в день, вы должны зарегистрироваться у почтового провайдера, который специализируется на массовых рассылках.

См. это для получения дополнительной информации: Массовая отправка почты по дешевке

0 голосов
/ 27 мая 2011

Вам следует зарегистрироваться на профессиональную службу SMTP, где они будут отправлять ваши электронные письма в пакетном режиме.Создать учетную запись 400 электронной почты на Gmail и получить к ним доступ с помощью кода?Это звучит ОЧЕНЬ неуправляемо.

Существуют коммерческие веб-сайты, которые работают с отправкой электронных писем, с которыми вы можете интегрироваться, 40 000 электронных писем в месяц - это много писем, я даже думаю, что вы нарушаете некоторые условия использования Google.когда вы адаптируете это решение.

Обычный SMTP-сервис, который вы можете приобрести, работает следующим образом:

  • Вы приобретаете лимит электронной почты на день / год / месяц.40 000 электронных писем, вероятно, будут весьма дорогостоящими.
  • Вы интегрируетесь со службой либо с веб-службой, либо с другими API, которые вы НЕ используете SmtpClient (в некоторых случаях, но обычно, когда выотправьте 40 000 писем, это НЕТ, НЕТ!).
  • Вы используете шаблон, который вы установили в их системе, следовательно, вы не отправляете свой собственный "html" из своего кода, вы используетеподтвержденный / проверенный шаблон.

Другой вариант - создать отправителя SMTP самостоятельно, который будет отправлять 40 000 писем в течение длительного периода времени, но это также может привести к попаданию в черный список.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...