ANTICHAT.XYZ    VIDEO.ANTICHAT.XYZ    НОВЫЕ СООБЩЕНИЯ    ФОРУМ  
Баннер 1   Баннер 2

ANTICHAT — форум по информационной безопасности, OSINT и технологиям

ANTICHAT — русскоязычное сообщество по безопасности, OSINT и программированию. Форум ранее работал на доменах antichat.ru, antichat.com и antichat.club, и теперь снова доступен на новом адресе — forum.antichat.xyz.
Форум восстановлен и продолжает развитие: доступны архивные темы, добавляются новые обсуждения и материалы.
⚠️ Старые аккаунты восстановить невозможно — необходимо зарегистрироваться заново.
Вернуться   Форум АНТИЧАТ > Программирование > С/С++, C#, Delphi, .NET, Asm
   
Ответ
 
Опции темы Поиск в этой теме Опции просмотра

C# gmail отправка письма, ошибка
  #1  
Старый 26.05.2010, 15:48
need_million
Участник форума
Регистрация: 29.04.2010
Сообщений: 109
Провел на форуме:
160508

Репутация: 9
По умолчанию C# gmail отправка письма, ошибка

Код:
        public static bool SendEmail(
        string pGmailEmail,
        string pGmailPassword,
        string pTo,
        string pSubject,
        string pBody,
        System.Web.Mail.MailFormat pFormat,
        string pAttachmentPath)
        {
            try
            {
                System.Web.Mail.MailMessage myMail = new System.Web.Mail.MailMessage();
                myMail.Fields.Add
                    ("http://schemas.microsoft.com/cdo/configuration/smtpserver",
                                  "smtp.gmail.com");
                myMail.Fields.Add
                    ("http://schemas.microsoft.com/cdo/configuration/smtpserverport",
                                  "465");
                myMail.Fields.Add
                    ("http://schemas.microsoft.com/cdo/configuration/sendusing",
                                  "2");
                //sendusing: cdoSendUsingPort, value 2, for sending the message using 
                //the network.

                //smtpauthenticate: Specifies the mechanism used when authenticating 
                //to an SMTP 
                //service over the network. Possible values are:
                //- cdoAnonymous, value 0. Do not authenticate.
                //- cdoBasic, value 1. Use basic clear-text authentication. 
                //When using this option you have to provide the user name and password 
                //through the sendusername and sendpassword fields.
                //- cdoNTLM, value 2. The current process security context is used to 
                // authenticate with the service.
                myMail.Fields.Add
                ("http://schemas.microsoft.com/cdo/configuration/smtpauthenticate", "1");
                //Use 0 for anonymous
                myMail.Fields.Add
                ("http://schemas.microsoft.com/cdo/configuration/sendusername",
                    pGmailEmail);
                myMail.Fields.Add
                ("http://schemas.microsoft.com/cdo/configuration/sendpassword",
                     pGmailPassword);
                myMail.Fields.Add
                ("http://schemas.microsoft.com/cdo/configuration/smtpusessl",
                     "true");
                myMail.From = pGmailEmail;
                myMail.To = pTo;
                myMail.Subject = pSubject;
                myMail.BodyFormat = pFormat;
                myMail.Body = pBody;
                //if (pAttachmentPath.Trim() != "")
                //{
                //    MailAttachment MyAttachment =
                //            new MailAttachment(pAttachmentPath);
                //    myMail.Attachments.Add(MyAttachment);
                //    myMail.Priority = System.Web.Mail.MailPriority.High;
                //}

                System.Web.Mail.SmtpMail.SmtpServer = "smtp.gmail.com:465";
                System.Web.Mail.SmtpMail.Send(myMail);
                return true;
            }
            catch (Exception ex)
            {
                throw;
            }
}
Код:
            SendEmail("nickname@gmail.com",
                             "password",
                             "nick@bk.ru",
                             "This is email subject",
                             "This is email body",
                             System.Web.Mail.MailFormat.Text,
                             "");
ошибка Не удалось отправить сообщение на SMTP-сервер. Код ошибки транспорта: 0x80040217. Отклик сервера: not available
 
Ответить с цитированием

  #2  
Старый 26.05.2010, 16:46
need_million
Участник форума
Регистрация: 29.04.2010
Сообщений: 109
Провел на форуме:
160508

Репутация: 9
По умолчанию

вот такой пример есть, пишет "не допустимый знак в заголовке"

Код:
            SmtpClient SmtpServer = new SmtpClient();
            SmtpServer.Credentials = new System.Net.NetworkCredential("nick@gmail.com", "passs");
            SmtpServer.Port = 587;
            SmtpServer.Host = "smtp.gmail.com";
            SmtpServer.EnableSsl = true;
            mail = new MailMessage();
            String[] addr = TextBox1.Text.Split(',');
            try 
            {
                mail.From = new MailAddress("nick@gmail.com", "Developers", System.Text.Encoding.UTF8);
                Byte i;
                for( i = 0;i< addr.Length; i++)
                    mail.To.Add(addr[i]);
                mail.Subject = TextBox3.Text;
                mail.Body = TextBox4.Text;
                if(ListBox1.Items.Count != 0)
                {
                    for(i = 0;i<ListBox1.Items.Count;i++)
                    mail.Attachments.Add(new Attachment(ListBox1.Items[i].ToString()));
                }
                //LinkedResource logo = new LinkedResource(path);
                //logo.ContentId = "Logo";
                string htmlview;
                htmlview = "<html><body><table border=2><tr width=100%><td><img src=cid:Logo alt=companyname /></td><td>MY COMPANY DESCRIPTION</td></tr></table><hr/></body></html>";
                AlternateView alternateView1 = AlternateView.CreateAlternateViewFromString(htmlview + TextBox4.Text, null, MediaTypeNames.Text.Html);
                //alternateView1.LinkedResources.Add(logo);
                mail.AlternateViews.Add(alternateView1);
                mail.IsBodyHtml = true;
                mail.DeliveryNotificationOptions = DeliveryNotificationOptions.OnFailure;
                mail.ReplyTo = new MailAddress(TextBox1.Text);
                SmtpServer.Send(mail);
            }
            catch (Exception ex){
            MessageBox.Show(ex.ToString());
            }
 
Ответить с цитированием

  #3  
Старый 26.05.2010, 18:40
eLWAux
Members of Antichat - Level 5
Регистрация: 15.06.2008
Сообщений: 941
Провел на форуме:
5111568

Репутация: 2399


Отправить сообщение для eLWAux с помощью ICQ
По умолчанию

.NET учитывает имя компьютера в домене отправителя, который передается во время приветствия.
Можно попробовать указывать домен при инициализации полей Sender, From,
однако давать имя компьютеру на русском - однозначно зло.

Попробуй изменить имя компьютера с русских букв на англ.
 
Ответить с цитированием

  #4  
Старый 26.05.2010, 19:03
need_million
Участник форума
Регистрация: 29.04.2010
Сообщений: 109
Провел на форуме:
160508

Репутация: 9
По умолчанию

Цитата:
Попробуй изменить имя компьютера с русских букв на англ.
изменил в обоих вариантах ошибка "Не удалось отправить сообщение на SMTP-сервер. Код ошибки транспорта: 0x80040217. Отклик сервера: not available"
 
Ответить с цитированием

  #5  
Старый 26.05.2010, 20:26
KATYA
Участник форума
Регистрация: 09.02.2009
Сообщений: 229
Провел на форуме:
2856245

Репутация: 338
По умолчанию

Попробуй порт 465 во втором примере, но там защищённое соединение и требуется проверка подлинности, а вот на других почтовиках ведь нормально отсылает?

Последний раз редактировалось KATYA; 26.05.2010 в 20:28..
 
Ответить с цитированием

  #6  
Старый 26.05.2010, 20:41
noxjoker
Познающий
Регистрация: 07.08.2009
Сообщений: 85
Провел на форуме:
705829

Репутация: 53
Отправить сообщение для noxjoker с помощью ICQ
По умолчанию

SSl - true
587 порт
 
Ответить с цитированием

  #7  
Старый 26.05.2010, 20:42
KATYA
Участник форума
Регистрация: 09.02.2009
Сообщений: 229
Провел на форуме:
2856245

Репутация: 338
По умолчанию

Цитата:
Сообщение от noxjoker  
SSl - true
587 порт
Этот порт есть в примере, у меня пашет

Последний раз редактировалось KATYA; 26.05.2010 в 20:45..
 
Ответить с цитированием

  #8  
Старый 26.05.2010, 20:45
KATYA
Участник форума
Регистрация: 09.02.2009
Сообщений: 229
Провел на форуме:
2856245

Репутация: 338
По умолчанию

PHP код:
 using System.Web
using System.Net
using System.Net.Mail
using System.Net.Mime;
namespace 
qwe
{
    class 
qwer
    
{
        static 
void Main()
        {
            
//Авторизация на SMTP сервере 
            
SmtpClient Smtp = new SmtpClient("smtp.gmail.com"587);
            
Smtp.Credentials = new NetworkCredential("iuser@gmail.com""passs");
            
Smtp.EnableSsl true

            
//Формирование письма 
            
MailMessage Message = new MailMessage();
            
Message.From = new MailAddress("iuser@gmail.com");//тоже что и iuser@gmail.com
            
Message.To.Add(new MailAddress("куда"));
            
Message.Subject "tetet";
            
Message.Body "354";



            
Smtp.Send(Message);//отправка 
        
}
    }

Вот так всё пашет Юзай с пользой, кодер!

Даже ещё сейчас проверю разок!
Работает, если нет то не знаю в чём дело

Последний раз редактировалось KATYA; 26.05.2010 в 20:50..
 
Ответить с цитированием

  #9  
Старый 26.05.2010, 20:50
KATYA
Участник форума
Регистрация: 09.02.2009
Сообщений: 229
Провел на форуме:
2856245

Репутация: 338
По умолчанию

Вопрос: ограничение на отпраку писем через smtp в гугле, в минуту в час с ip?
 
Ответить с цитированием

  #10  
Старый 26.05.2010, 20:59
need_million
Участник форума
Регистрация: 29.04.2010
Сообщений: 109
Провел на форуме:
160508

Репутация: 9
По умолчанию

Цитата:
SmtpClient SmtpServer = new SmtpClient();
SmtpServer.Credentials = new System.Net.NetworkCredential("nick@gmail.com", "passs");
SmtpServer.Port = 587;
SmtpServer.Host = "smtp.gmail.com";
SmtpServer.EnableSsl = true;
mail = new MailMessage();
String[] addr = TextBox1.Text.Split(',');
try
{
mail.From = new MailAddress("nick@gmail.com", "Developers", System.Text.Encoding.UTF8);
Byte i;
for( i = 0;i< addr.Length; i++)
mail.To.Add(addr[i]);
mail.Subject = TextBox3.Text;
mail.Body = TextBox4.Text;
if(ListBox1.Items.Count != 0)
{
for(i = 0;i<ListBox1.Items.Count;i++)
mail.Attachments.Add(new Attachment(ListBox1.Items[i].ToString()));
}
//LinkedResource logo = new LinkedResource(path);
//logo.ContentId = "Logo";
string htmlview;
htmlview = "<html><body><table border=2><tr width=100%><td><img src=cid:Logo alt=companyname /></td><td>MY COMPANY DESCRIPTION</td></tr></table><hr/></body></html>";
AlternateView alternateView1 = AlternateView.CreateAlternateViewFromString(htmlvi ew + TextBox4.Text, null, MediaTypeNames.Text.Html);
//alternateView1.LinkedResources.Add(logo);
mail.AlternateViews.Add(alternateView1);
mail.IsBodyHtml = true;
mail.DeliveryNotificationOptions = DeliveryNotificationOptions.OnFailure;
mail.ReplyTo = new MailAddress(TextBox1.Text);
SmtpServer.Send(mail);
}
catch (Exception ex){
MessageBox.Show(ex.ToString());
}
этот пример работает только надо имя компа английсское..

а кто то знает как это обойти?
 
Ответить с цитированием
Ответ



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Комп пищит и дымиться MrTrick Аппаратное обеспечение 54 15.08.2009 01:09
Gmail научился переводить письма jerrri Мировые новости 2 22.05.2009 19:47
ММ, комп буровит. Arigona Болталка 12 06.03.2009 23:55
Ошибки Windows 2 SVipeR Windows 9 02.03.2009 19:28
Ошибки Windows dinar_007 Windows 19 01.07.2007 13:32



Здесь присутствуют: 1 (пользователей: 0 , гостей: 1)
 


Быстрый переход




ANTICHAT.XYZ