Форум программистов, компьютерный форум, киберфорум
C# .NET
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.53/15: Рейтинг темы: голосов - 15, средняя оценка - 4.53
168 / 140 / 23
Регистрация: 02.01.2011
Сообщений: 913

Программа по отправке почты при переносе на сервер перестает работать

28.02.2012, 17:16. Показов 3108. Ответов 9
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Посылаю почту через SMTP. У меня на компе все работает, ставлю программу на сервер, получаю ошибку
"Failure sending mail". Как с неи бороться - это главное? И как можно получить сообшение об ошибке более подробно? Спасибо
Вот код
C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
class SendemailTo
    {
        public static bool SendEmail(string serverSMTP, int port, string login,
    string pass, string mailFrom, string mailTo, List<string> fileAttach, string subject)
        {
            try
            {
                SmtpClient Smtp = new SmtpClient(serverSMTP, port);
                Smtp.Credentials = new NetworkCredential(login, pass);
                Smtp.Timeout = 900000;  //900 sec=15 min
                
                //Message
                MailMessage Message = new MailMessage();
                Message.From = new MailAddress(mailFrom);
                Message.To.Add(new MailAddress(mailTo));
                Message.Subject = subject;
                Message.Body = "Report " + DateTime.Now.ToString();
 
                //Attach file
                for (int k = 0; k < fileAttach.Count; k++)
                {
                    string file = fileAttach[k];
                    Attachment attach = new Attachment(file, MediaTypeNames.Application.Octet);
 
                    // Add information from file
                    ContentDisposition disposition = attach.ContentDisposition;
                    disposition.CreationDate = System.IO.File.GetCreationTime(file);
                    disposition.ModificationDate = System.IO.File.GetLastWriteTime(file);
                    disposition.ReadDate = System.IO.File.GetLastAccessTime(file);
 
                    Message.Attachments.Add(attach);
                }
                Smtp.Send(Message);//send
                Smtp.Dispose();
 
                return true;
            }
            catch (SmtpException e)
            {
                Console.ForegroundColor = ConsoleColor.Green; 
                Console.WriteLine(e.Message);
                Program.WriteLogEx.WriterLogErr(e.Message);
                Console.ResetColor(); 
                return false;
            }
 
        }
//...
        static void Main(string[] args)
        {
            List<string> fileAttach = new List<string>();
            fileAttach.Add(@"c:\167932.pdf");
 
            if (SendemailTo.SendEmail("***.netvision.net.il", 25, "****",
       "****", "***.com", "***@***.com", fileAttach, "Test"))
                Console.WriteLine("Send email");
            else
                Console.WriteLine("Error");
        }
 
    }
Добавлено через 3 часа 50 минут
Все еше продолжаю. Добавила следующии код
C#
1
2
3
4
5
6
7
8
9
10
 catch (SmtpException e)
            {
                Console.ForegroundColor = ConsoleColor.Green; //colr green
                Console.WriteLine(e.Message);
                Program.WriteLogEx.WriterLogErr("AA "+e.Message + e.InnerException);
                SmtpStatusCode status = e.StatusCode;
                Program.WriteLogEx.WriterLogErr("BB" + status.ToString());
                Console.ResetColor(); // reset color
                return false;
            }
Получаю такую ошибку в лог фаиле
AA Failure sending mail.System.FormatException: An invalid character was found in the mail header: '?'.
at System.Net.Mime.MailBnfHelper.GetTokenOr QuotedString(String data, StringBuilder builder)
at System.Net.Mime.ContentDisposition.ToStr ing()
at System.Net.Mime.ContentDisposition.Persi stIfNeeded(HeaderCollection headers, Boolean forcePersist)
at System.Net.Mime.MimeBasePart.get_Headers ()
at System.Net.Mime.MimePart.Send(BaseWriter writer)
at System.Net.Mime.MimeMultiPart.Send(BaseW riter writer)
at System.Net.Mail.Message.Send(BaseWriter writer, Boolean sendEnvelope)
at System.Net.Mail.SmtpClient.Send(MailMess age message)
28/02/2012 15:02:14 BBGeneralFailure
Кто-нибудь может что-либо подсказать?
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
28.02.2012, 17:16
Ответы с готовыми решениями:

При переносе проекта все перестает работать.
при переносе пректа даже на локальном компьетере (просто копированием в др папку) всё перестают работать(( тем более перестаёт работать...

Зависает программа при отправке почты
Тупо зависает программа при выполнении програмы со следующим кодом: // отправитель - устанавливаем адрес и отображаемое в письме имя ...

Зависает программа при отправке почты
срабатывает метод, а в методе скрипт для отправки сообщения, и сообщение приходит не одно , а непрерывно приходят по 3-5 и программа...

9
 Аватар для Mr.kto
104 / 105 / 18
Регистрация: 18.08.2012
Сообщений: 308
28.02.2012, 17:23
посмотри как я это дело осуществил!)
Вложения
Тип файла: rar SMTPMail.rar (55.4 Кб, 46 просмотров)
0
 Аватар для sau
2773 / 2073 / 386
Регистрация: 22.07.2011
Сообщений: 7,820
28.02.2012, 17:27
mailFrom,mailTo
чему равны, в том смысле может там кракозябры ?

attachment.NameEncoding = Encoding.UTF8;
возможно недопустимые символы в именах файлов
0
168 / 140 / 23
Регистрация: 02.01.2011
Сообщений: 913
28.02.2012, 17:34  [ТС]
Спасибо, Mr.kto, но разве у меня не то же самое? Толчко в консольном приложении. Или я чего-то не понимаю?

Добавлено через 3 минуты
mailTo- емаил заказчика, т.е. любои, mailFrom - ***@***.com - все англиискими буквами, в природе существует

Добавлено через 1 минуту
имя фаила 12367.pdf(все цифры, расширение pdf)
0
 Аватар для sau
2773 / 2073 / 386
Регистрация: 22.07.2011
Сообщений: 7,820
28.02.2012, 17:44
Тоды странно, потому как в коде ошибок то нету, где то с кодировкой проблемы т.к недопустимые кракозябры в отправляемых данных.
На всяк случай проверте под отладчиком какие значения в переменных на момент вызова функции SendEmail.
Кстати, данные в функции main случайно не копипастом вставлялись ?
1
168 / 140 / 23
Регистрация: 02.01.2011
Сообщений: 913
28.02.2012, 17:52  [ТС]
Нет, "ручками" В дебаге проверить ничего не могу, т.к. с моего компа все посылается отлично, все время делаю инсталяцию, отправляю на сервер и т.д. Уже озверела!!!
0
 Аватар для sau
2773 / 2073 / 386
Регистрация: 22.07.2011
Сообщений: 7,820
28.02.2012, 17:57
т.к. с моего компа все посылается отлично
а, ну так с этого и нужно было начинать )
Видимо код инсталяционной версии отличается от приведенного, параметры для функции где то же нужно брать, либо из args либо существует другая форма для юзерей ?,
в общем запротоколируйте аргументы фукнции тогда видно будет.
Еще вариант, на сервере какая то проксина неадекватно перекодирует трафик. - но эт наврятли.
0
Заблокирован
28.02.2012, 18:28
Перенаберите на латинской раскладке строки в SendEmail(), вдруг буква с кирилицы случайно попала.
Может следующее решение поможет.
1
168 / 140 / 23
Регистрация: 02.01.2011
Сообщений: 913
04.03.2012, 11:00  [ТС]
Вообщем, всем спасибо! И , если кому интересно, выкинула вот этото код и все посылается.
C#
1
2
3
4
5
                    // Add information from file
                  /*  ContentDisposition disposition = attach.ContentDisposition;
                    disposition.CreationDate = System.IO.File.GetCreationTime(file);
                    disposition.ModificationDate = System.IO.File.GetLastWriteTime(file);
                    disposition.ReadDate = System.IO.File.GetLastAccessTime(file);*/
1
 Аватар для sau
2773 / 2073 / 386
Регистрация: 22.07.2011
Сообщений: 7,820
05.03.2012, 12:44
Ну так не интересно ), нужно разобраться в проблеме, в этом куске кода ,на первый взгляд, ничего криминального нету..., разве что установленная дата содержит кириллицу.

http://datatracker.ietf.org/do... ude_text=1
http://msdn.microsoft.com/ru-r... ition.aspx
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
05.03.2012, 12:44
Помогаю со студенческими работами здесь

При разбиении на модули программа перестаёт работать
Программа отлично работает, если пользовательские функции находятся в том же файле, что и функция main. Но когда я выношу пользовательские...

Программа перестает работать при наличии меню
Без меню все работает. Сделал в меню, включаю программу решения биквадратных уравнений под номером 1, ввожу нужные данные, потом просто все...

При сворачивании окна программа перестает работать
Доброе время суток. Моя программа перестает выполнять свою работу если скрыть/свернуть окно или даже поверх формы вылезет какой-нибудь...

При вторичном запуске программа перестает работать
Доброго всем времени суток! Очень нужна помощь! Сам в программировании не силен, только-только начал, решил составить программу для...

При добавлении кнопки перестаёт работать программа
господа программа выводит картинку+надпись,хотел добавить кнопку , но компилятор начинает ругаться,вот текст программы- #include...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
10
Ответ Создать тему
Новые блоги и статьи
Установка Android SDK, NDK, JDK, CMake и т.д.
8Observer8 25.01.2026
Содержание блога Перейдите по ссылке: https:/ / developer. android. com/ studio и в самом низу страницы кликните по архиву "commandlinetools-win-xxxxxx_latest. zip" Извлеките архив и вы увидите. . .
Вывод текста со шрифтом TTF на Android с помощью библиотеки SDL3_ttf
8Observer8 25.01.2026
Содержание блога Если у вас не установлены Android SDK, NDK, JDK, и т. д. то сделайте это по следующей инструкции: Установка Android SDK, NDK, JDK, CMake и т. д. Сборка примера Скачайте. . .
Использование SDL3-callbacks вместо функции main() на Android, Desktop и WebAssembly
8Observer8 24.01.2026
Содержание блога Если вы откроете примеры для начинающих на официальном репозитории SDL3 в папке: examples, то вы увидите, что все примеры используют следующие четыре обязательные функции, а. . .
моя боль
iceja 24.01.2026
Выложила интерполяцию кубическими сплайнами www. iceja. net REST сервисы временно не работают, только через Web. Написала за 56 рабочих часов этот сайт с нуля. При помощи perplexity. ai PRO , при. . .
Модель сукцессии микоризы
anaschu 24.01.2026
Решили писать научную статью с неким РОманом
http://iceja.net/ математические сервисы
iceja 20.01.2026
Обновила свой сайт http:/ / iceja. net/ , приделала Fast Fourier Transform экстраполяцию сигналов. Однако предсказывает далеко не каждый сигнал (см ограничения http:/ / iceja. net/ fourier/ docs ). Также. . .
http://iceja.net/ сервер решения полиномов
iceja 18.01.2026
Выкатила http:/ / iceja. net/ сервер решения полиномов (находит действительные корни полиномов методом Штурма). На сайте документация по API, но скажу прямо VPS слабенький и 200 000 полиномов. . .
Расчёт переходных процессов в цепи постоянного тока
igorrr37 16.01.2026
/ * Дана цепь(не выше 3-го порядка) постоянного тока с элементами R, L, C, k(ключ), U, E, J. Программа находит переходные токи и напряжения на элементах схемы классическим методом(1 и 2 з-ны. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru