Форум программистов, компьютерный форум, киберфорум
C#: Web, ASP.NET
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.71/41: Рейтинг темы: голосов - 41, средняя оценка - 4.71
 Аватар для Laslo
2 / 2 / 0
Регистрация: 27.04.2011
Сообщений: 11

Отправка сообщений на почту через SMTP

27.04.2011, 15:41. Показов 8214. Ответов 10
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Здрасте!

сам код:

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
using System;
using System.Data;
using System.Configuration;
using System.Web;
using System.Web.Security;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using System.Web.UI.HtmlControls;
using System.Net;
using System.Net.Mail;
 
public partial class _Default2 : System.Web.UI.Page
{
    protected void Page_Load(object sender, EventArgs e)
    {
 
    }
    protected void btnSend_Click(object sender, EventArgs e)
    {
        MailMessage mm = new MailMessage("sender@gmail.com", "receiver@gmail.com");
        mm.Subject = txtSubject.Text;
        mm.Body = "Name: " + txtName.Text + "<br /><br />Email: " + txtEmail.Text + "<br />" + txtBody.Text;
        if (FileUpload1.HasFile)
        {
            string FileName = System.IO.Path.GetFileName(FileUpload1.PostedFile.FileName);
            mm.Attachments.Add(new Attachment(FileUpload1.PostedFile.InputStream, FileName));
        }
        mm.IsBodyHtml = true;
        SmtpClient smtp = new SmtpClient();
        smtp.Host = "smtp.gmail.com";
        smtp.EnableSsl = true;
        System.Net.NetworkCredential NetworkCred = new System.Net.NetworkCredential();
        NetworkCred.UserName = "*******@gmail.com";
        NetworkCred.Password = "*******";
        smtp.UseDefaultCredentials = true;
        smtp.Credentials = NetworkCred;
        smtp.Port = 25;
        smtp.Send(mm);
        lblMessage.Text = "Email Sent SucessFully.";
    }
}
Вот такое говорит студия...

 Комментарий модератора 
Используйте теги форматирования кода
Миниатюры
Отправка сообщений на почту через SMTP  
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
27.04.2011, 15:41
Ответы с готовыми решениями:

Отправка сообщений на почту по протоколу SMTP без использования .NET-функций
Всем привет. Такая проблема.Требуется написать программу, которая будет отсылать на почту сообщения по протоколу SMTP. Но условие: нельзя...

Отправка сообщений через SMTP
В программа работает но сообщения на мыло не приходят. В чем ошибка? Как ее исправить? using System; using...

Отправка больших вложений через SMTP
Не отправляет файлы более 4мб (приблизительно), насколько я понял это недоработка фреймворка. Можно как то решить эту проблему?

10
Padawan
 Аватар для Johnny_D
473 / 323 / 30
Регистрация: 30.01.2010
Сообщений: 1,841
27.04.2011, 17:30
Во первых использовать теги разметки кода, а во вторых проверить работоспособность smtp через telnet.
0
 Аватар для Laslo
2 / 2 / 0
Регистрация: 27.04.2011
Сообщений: 11
27.04.2011, 17:32  [ТС]
Цитата Сообщение от Johnny_D Посмотреть сообщение
Во первых использовать теги разметки кода, а во вторых проверить работоспособность smtp через telnet.
1) Извиняюс не уделил нужного внимания этой фишке на сайте
2) а по подробней можно как это через telnet
0
Padawan
 Аватар для Johnny_D
473 / 323 / 30
Регистрация: 30.01.2010
Сообщений: 1,841
27.04.2011, 17:36
Laslo, оч. просто. Если, что гугл в помощь. Там на первой же странице этих ссылок.
0
 Аватар для Laslo
2 / 2 / 0
Регистрация: 27.04.2011
Сообщений: 11
27.04.2011, 18:31  [ТС]
Буду копать интернеты=)) если ,что вернусь сюда

Добавлено через 52 минуты
с телнетом я так и не разобрался а вот выявил такую фигню... если поставить
C#
1
smtp.Port = 587;
ошибка пропадает , но сообщение идет в никуда...тоесть
C#
1
lblMessage.Text = "Email Sent SucessFully.";
но на почту не приходит...
0
CEO
Эксперт С++
 Аватар для Alligieri
2258 / 1248 / 57
Регистрация: 16.03.2009
Сообщений: 3,588
27.04.2011, 23:16
Laslo, использую воот такуйщий код:

(страшный, вырыл еще в юности в интернете, нет времени переписать - но работал)

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
62
63
64
65
66
67
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;
        }
    }
1
 Аватар для Laslo
2 / 2 / 0
Регистрация: 27.04.2011
Сообщений: 11
28.04.2011, 19:15  [ТС]
Спасибо эту проблему я решил пошаманив с этим кодом
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
public partial class _Default : System.Web.UI.Page
{
    protected void Page_Load(object sender, EventArgs e)
    {
       
    }
    protected void btnSend_Click(object sender, EventArgs e)
    {
         SmtpClient client = new SmtpClient("smtp.gmail.com", 587);            
 
            client.EnableSsl = true;
 
            MailAddress from = new MailAddress("*******.com", "[User]");
 
            MailAddress to = new MailAddress("carmans.service@gmail.com", "Service Service");
 
            MailMessage message = new MailMessage(from,to);
 
            message.Body = "Name: " + txtName.Text + "<br /><br />Fname: " + txtFname.Text + "<br /><br />Phone: " + txtPhone.Text + "<br /><br />Message: " + txtMessage;
 
            message.Subject = "Запрос на регистрацию!!!!!!!!!";
 
            NetworkCredential myCreds = new NetworkCredential("carmans.service@gmail.com", "********", "");            
 
            client.Credentials = myCreds;
 
            try
 
            {
 
                client.Send(message);
 
            }
 
            catch (Exception ex)
 
            {
 
                Console.WriteLine("Exception is:" + ex.ToString());
 
            }
 
            Console.WriteLine("Goodbye.");
 
        }
    }
Добавлено через 18 часов 27 минут
На гмайле меня заблочили... попытался настроить на яндекс ... ээфект все работает но сообщение не приходит...
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
using System;
using System.Data;
using System.Configuration;
using System.Collections;
using System.Web;
using System.Web.Security;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using System.Web.UI.HtmlControls;
using System.Net;
using System.Net.Mail;
 
 
public partial class _Default : System.Web.UI.Page
{
    protected void Page_Load(object sender, EventArgs e)
    {
       
    }
    protected void btnSend_Click(object sender, EventArgs e)
    {
        SmtpClient client = new SmtpClient("smtp.yandex.ru", 587);            
 
            client.EnableSsl = false;
 
            MailAddress from = new MailAddress("vladislavnovoseltsev@yandex.com");
 
            MailAddress to = new MailAddress("vladislavnovoseltsev@yandex.com");
 
            MailMessage message = new MailMessage(from,to);
 
            message.Body = "Name: " + txtName.Text + "  Fname: " + txtFname.Text + "  Phone: " + txtPhone.Text + "Mark: " + txtMark.Text + "Model: " + txtModel.Text + "Year: " + txtYear.Text + "Engine: " + txtEngine.Text + "Petrolium: " + txtPetrolium.Text + "  Message: " + txtMessage.Text;
 
            message.Subject = "Запрос на регистрацию!!!!!!!!!";
 
            NetworkCredential myCreds = new NetworkCredential("vladislavnovoseltsev@yandex.com", "*******", "");            
 
            client.Credentials = myCreds;
 
            try
 
            {
 
                lblMessage.Text = "Сообщение отправлено ";
 
            }
 
            catch (Exception ex)
 
            {
 
                lblMessage.Text = "Произошла ошибка, попробуйте снова. ";
 
            }
 
            
        }
    }
порты все перепробывал... не помогло

Добавлено через 3 минуты
telnet реагирует нормально... предлагает посетить pdd.jandex.ru затем набор цифр и таймаут
1
 Аватар для ayrat_net
84 / 84 / 12
Регистрация: 12.01.2011
Сообщений: 1,049
29.04.2011, 10:11
Братишка я делал то же самое, что и ты. И сегодня я сделал это. Причём он отправляет письмо на google. Если тебе нужен пример кода я готов залить его, но скинь пожалуйста логин и пароль какого-нибудь фейкового google аккаунта. чтобы я вбил в код, а ты уже потом сам в нём разобрался бы без лишних вопросов. логин и пароль можешь залить сюда же.
1
 Аватар для Laslo
2 / 2 / 0
Регистрация: 27.04.2011
Сообщений: 11
29.04.2011, 13:02  [ТС]
Спасиб,вроде уже разобрался))
1
4 / 4 / 1
Регистрация: 25.02.2011
Сообщений: 181
08.08.2011, 00:53
не используя smtp-сервер и даже не имея почты нельзя ли отправить сообщения?, типа функция mail на php
0
 Аватар для bulvive
18 / 28 / 3
Регистрация: 20.06.2018
Сообщений: 144
22.09.2018, 23:08
Если кому-то понадобится, для Яндекс почты нужно использовать 587 порт.
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
if (String.IsNullOrEmpty(TextBox2.Text) || String.IsNullOrEmpty(TextBox3.Text) || 
String.IsNullOrEmpty(TextBox4.Text) || String.IsNullOrEmpty(TextBox5.Text))
        {
            Label1.Text = "Необходимо заполнить все поля!";
        }
 
        else
        {
            try
            {
                SmtpClient Smtp = new SmtpClient("smtp.yandex.ru", 587);
                Smtp.EnableSsl = true;
                Smtp.Credentials = new NetworkCredential("login", "password");      // Логин и пароль почты отправителя            
                MailMessage MyMessage = new MailMessage();
                MyMessage.From = new MailAddress("e-mail");      // От кого отправляем почту
                MyMessage.To.Add("e-mail");                    // Кому отправляем почту
                MyMessage.Subject = "Сообщение с сайта " + TextBox4.Text;          // Тема письма
                MyMessage.Body = "Сообщение от: " + TextBox2.Text + "\n" + "E-mail: " + 
TextBox3.Text + "\n" + TextBox5.Text;                             // Текст письма
 
                Smtp.Send(MyMessage);
                Label1.Text = "Сообщение успешно отправлено";
            }
 
            catch (Exception mailexc)
            {
                Label1.Text = mailexc.Message.ToString();
            }
        }
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
22.09.2018, 23:08
Помогаю со студенческими работами здесь

Отправка сообщений на почту smtp
Добрый день! не могу настроить отправку почты на адрес клиента с помощью smtp. Я нашел код в интернете, но он у меня не работает не могу...

Отправка на почту через SMTP mail
Не могу найти как решить проблему в коде. Простая форма автоматической отправки сообщения людям на почту с моей почты. Отправляю с...

Отправка письма через SMTP на почту
Здравствуйте. Есть проблема. Хостинг разрешает отправку писем только через SMTP: &quot;У нас нельзя отправлять почту просто функцией PHP...

Отправка файла на почту через smtp
imgpart := TIdAttachmentFile.Create(IdMessage1.MessageParts, s1) s1 - полный путь до файла (например...

Отправка сообщений через SMTP в RAD Studio 10.1 Berlin
begin SMTP := TIdSMTP.Create(Application); SMTP.Host := 'smtp.yandex.ru'; SMTP.Port := 465; SMTP.AuthType := satDefault; ...


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

Или воспользуйтесь поиском по форуму:
11
Ответ Создать тему
Новые блоги и статьи
PhpStorm 2025.3: WSL Terminal всегда стартует в ~
and_y87 14.12.2025
PhpStorm 2025. 3: WSL Terminal всегда стартует в ~ (home), игнорируя директорию проекта Симптом: После обновления до PhpStorm 2025. 3 встроенный терминал WSL открывается в домашней директории. . .
Как объединить две одинаковые БД Access с разными данными
VikBal 11.12.2025
Помогите пожалуйста !! Как объединить 2 одинаковые БД Access с разными данными.
Новый ноутбук
volvo 07.12.2025
Всем привет. По скидке в "черную пятницу" взял себе новый ноутбук Lenovo ThinkBook 16 G7 на Амазоне: Ryzen 5 7533HS 64 Gb DDR5 1Tb NVMe 16" Full HD Display Win11 Pro
Музыка, написанная Искусственным Интеллектом
volvo 04.12.2025
Всем привет. Некоторое время назад меня заинтересовало, что уже умеет ИИ в плане написания музыки для песен, и, собственно, исполнения этих самых песен. Стихов у нас много, уже вышли 4 книги, еще 3. . .
От async/await к виртуальным потокам в Python
IndentationError 23.11.2025
Армин Ронахер поставил под сомнение async/ await. Создатель Flask заявляет: цветные функции - провал, виртуальные потоки - решение. Не threading-динозавры, а новое поколение лёгких потоков. Откат?. . .
Поиск "дружественных имён" СОМ портов
Argus19 22.11.2025
Поиск "дружественных имён" СОМ портов На странице: https:/ / norseev. ru/ 2018/ 01/ 04/ comportlist_windows/ нашёл схожую тему. Там приведён код на С++, который показывает только имена СОМ портов, типа,. . .
Сколько Государство потратило денег на меня, обеспечивая инсулином.
Programma_Boinc 20.11.2025
Сколько Государство потратило денег на меня, обеспечивая инсулином. Вот решила сделать интересный приблизительный подсчет, сколько государство потратило на меня денег на покупку инсулинов. . . .
Ломающие изменения в C#.NStar Alpha
Etyuhibosecyu 20.11.2025
Уже можно не только тестировать, но и пользоваться C#. NStar - писать оконные приложения, содержащие надписи, кнопки, текстовые поля и даже изображения, например, моя игра "Три в ряд" написана на этом. . .
Мысли в слух
kumehtar 18.11.2025
Кстати, совсем недавно имел разговор на тему медитаций с людьми. И обнаружил, что они вообще не понимают что такое медитация и зачем она нужна. Самые базовые вещи. Для них это - когда просто люди. . .
Создание Single Page Application на фреймах
krapotkin 16.11.2025
Статья исключительно для начинающих. Подходы оригинальностью не блещут. В век Веб все очень привыкли к дизайну Single-Page-Application . Быстренько разберем подход "на фреймах". Мы делаем одну. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2025, CyberForum.ru