Надсилання електронної пошти через SMTP-сервер Gmail із C #


243

Чомусь ні прийнята відповідь, ні будь-які інші не працюють для мене за " Надсилання електронної пошти в .NET через Gmail ". Чому б вони не працювали?

ОНОВЛЕННЯ: Я спробував усі відповіді (прийняті та в іншому випадку) в іншому запитанні, але жодна з них не працює.

Я просто хотів би знати, чи працює він для когось іншого, інакше Google може щось змінити (що раніше було).

Коли я спробую фрагмент коду, який використовує SmtpDeliveryMethod.Network, я швидко отримую SmtpException на Send (повідомлення). Повідомлення є

Сервер SMTP вимагає безпечного з'єднання або клієнт не був автентифікований.

Відповідь сервера була:

5.5.1 Потрібна автентифікація. Дізнайтеся більше на "<- серйозно, це закінчується на цьому".

ОНОВЛЕННЯ:

Це питання, яке я задав давно, і прийнята відповідь - це код, який я багато-багато разів використовував у різних проектах.

Я взяв деякі ідеї в цій публікації та інших проектах EmailSender для створення проекту EmailSender в Codeplex . Він призначений для перевірки і підтримує мої улюблені сервіси SMTP, такі як GoDaddy та Gmail.


Я намагався це зробити, використовуючи подібні методи іншою мовою. Зустрілися з однотипними речами: старі задокументовані методи, які працювали раніше, не працювали для мене. Тож вам залишається цікаво, чи Google щось змінив, чи ви щось зробили не так.
AaronLS

3
@aaronls, здається, лише остання зміна пов'язана з пором 465. Я спробував це, шукаючи рішення (я просто працював над тим же), і 465 портових тайм-аутів весь час. Якщо це справа, спробуйте порту 587.
eglasius

2
Ця проблема пов’язана з "верифікацією слів" (captcha). Якщо ви ввійдете через веб-інтерфейс вручну та заповніть капчу, ваш SMTP почне працювати.
Роберт Коритник

4
FWIW, працює на мене. вам потрібно використовувати 587 та .EnableSSL true. c # 4 / .NET 4 наразі не підтримує чергування 465 / SSL. вимоги gmail для налаштування інших поштових клієнтів .
gerryLowry

1
Дотримуйтесь @eglasius відповіді та переконайтеся, що ви ввімкнули налаштування "Дозволити менш безпечні програми" в Gmail, щоб дозволити gmail аутентифікувати ваш обліковий запис.
користувач2713706

Відповіді:


291

CVertex, переконайтесь, що перегляньте свій код, і, якщо це нічого не виявить, опублікуйте його. Я просто вмикав це на тестовому сайті ASP.NET, над яким я працював, і він працює.

Насправді в якийсь момент у мене виникло питання щодо мого коду. Я не помітив його, поки у мене не з’явилася простіша версія консольної програми, і я не побачив, що вона працює (ніяких змін на стороні Gmail, як ви турбувались). Код нижче працює так само, як і зразки, про які ви згадали:

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Net.Mail;
using System.Net;

namespace ConsoleApplication2
{
    class Program
    {
        static void Main(string[] args)
        {
            var client = new SmtpClient("smtp.gmail.com", 587)
            {
                Credentials = new NetworkCredential("myusername@gmail.com", "mypwd"),
                EnableSsl = true
            };
            client.Send("myusername@gmail.com", "myusername@gmail.com", "test", "testbody");
            Console.WriteLine("Sent");
            Console.ReadLine();
        }
    }
}

Я також отримав це за допомогою комбінації web.config, http://msdn.microsoft.com/en-us/library/w355a94k.aspx та коду (тому що EnableSslу файлі конфігурації немає відповідності :().


1
Блискуче працював для мене у програмі C # winforms. Спасибі, Фредді.
Андрій

13
Просто пам’ятайте, що такий код ефективно передає ваші облікові дані gmail у простому тексті користувачеві ...
Кріс Марісіч

3
насправді є налаштування відповідності для enableSsl в web.config, див. відповідь нижче
Wiebe Tijsma

4
@Zidad, доданий у 4.0.
eglasius

21
Можливо, вам також потрібно ввімкнути доступ до "менш захищених додатків" на сторінці налаштувань gmail: google.com/settings/security/lesssecureapps . Це необхідно, якщо ви отримуєте виняток "` Відповідь сервера була: 5.5.1. Потрібна автентифікація.
Ravendarksky

74

НАСЛІДКО ВІДПОВІДНО БУДЕ ВІДПОВІДЬ ДО ВАШОГО ЗАПИТАННЯ, ЯКЩО ВСЕ ВІДБУТИ :

Я отримав таку саму помилку, виявляється, новий алгоритм вимірювання строгості пароля Google змінив, вважаючи мій поточний пароль занадто слабким і не розповідаючи мені про це нічого (навіть повідомлення чи попередження) ... Як я це виявив ? Ну, я вирішив змінити свій пароль, щоб побачити, чи це допоможе (спробував усе безрезультатно), і коли я змінив пароль, він спрацював!

Потім для експерименту я спробував змінити свій пароль на попередній пароль, щоб побачити, що буде, і Gmail насправді не дозволив мені це зробити, посилаючись на причину "Вибачте, ми не можемо дозволити вам зберегти цю зміну як обрану вами" пароль занадто слабкий ", і це не дозволило мені повернутися до свого старого пароля. З цього я зрозумів, що вона помиляється, оскільки або a) вам потрібно міняти пароль раз на x кількість місяців або b). як я вже говорив, їх алгоритми захисту пароля змінилися, і тому слабкий пароль я не був прийнятий, хоча вони нічого не говорили про це, намагаючись увійти будь-де! Цей (номер 2) - найімовірніший сценарій, оскільки моєму слабкому паролю було близько 4 місяців, і він дозволив мені використовувати його в Gmail.

Досить погано, що вони нічого про це не говорили, але це має сенс. Оскільки більшість викрадених електронних листів увійшли в систему за допомогою програмного забезпечення поза межами gmail, і я гадаю, що вам потрібно мати більш надійний пароль, якщо ви хочете використовувати Gmail поза середовищем Gmail.

Я сподіваюся, що це допомагає!


2
Дякуємо, як ви кажете, змініть пароль, щоб він був міцним і все буде добре.
Гавін

1
Це була саме моя проблема - всі інші пропозиції стосувалися конфігурації, але моя конфігурація була правильною з самого початку, але я продовжував отримувати помилку. Змінення пароля все
змінило

Дякую, нарешті, мені вдалося розібратися з цією проблемою. Моя справа була насправді ще складнішою, мені вдалося надсилати електронні листи з моєї машини розробників (що знаходиться в Грузії, на Кавказі), але електронні листи не виходили з виробничих серверів (Великобританія) Після зміна пароля на складний, все працює зараз :)
Кирило Чилінгарашвілі

Дякую. У мене була та сама проблема з моїм обліковим записом gmail, який не мав надійності пароля. Я оновив його сильним, і мої коди працюють.
Thomas.Benz

Дякую, так, нарешті, просто змінити пароль на міцний.
Міша Бескін

68

На додаток до інших етапів усунення несправностей, я також хотів би додати, що якщо ви ввімкнули двофакторну автентифікацію (також відому як двоетапна перевірка ) у своєму обліковому записі GMail, ви повинні створити спеціальний пароль та використовувати це заново згенерований пароль для аутентифікації через SMTP .

Щоб створити його, відвідайте: https://www.google.com/settings/ та виберіть Авторизація програм та сайтів для створення пароля.


1
У мене не було включено двоетапну перевірку, і не важливо, наскільки безпечно я зробив пароль, це був єдиний спосіб, коли я міг усунути свою проблему. Я мав змогу використовувати інші акаунти gmail без двоступеневих та слабших паролів без жодних проблем ... щоб користуватися обліковим записом, який я дуже хотів використовувати, я мав увімкнути двоетапний і використовувати специфічний пароль програми.
Іван Робертсон

Точно те, що я роблю, але все одно та сама помилка: - / Діє так, що мій пароль недостатньо сильний, але я використовую пароль програми, який мені дав Gmail !!!
Джеррі Додж

55
Turn On Access For Less Secure Apps and it will work for all no need to change password.

Посилання на налаштування Gmail

введіть тут опис зображення


1
Це працювало для мене. Навіть більше, коли я намагався надсилати електронну пошту вищезгаданим способом, я отримав фактично електронний лист від Google, де вони прямо говорять про те, що вони заблокували цю спробу з менш безпечного додатка, і вони згадали цей спосіб виправити
Demarsch

1
Це найважливіший ключ у головоломці, оскільки в мене були налаштовані всі інші налаштування, і, здається, це не працює. Як тільки я ввімкнув цей параметр, він просто зачарував.
Втрачено

1
Це працювало для мене. Пароль програми + SSL + NetworkCredentials. (VB.NET)
CrazyIvan1974

30

У мене виникли проблеми з надсиланням електронних листів із мого облікового запису gmail, які були пов’язані з декількома згаданих вище ситуацій. Ось короткий підсумок того, як я працював та підтримував його одночасно гнучким:

  • Перш за все, налаштуйте свій обліковий запис GMail:
    • Увімкніть IMAP та встановіть потрібну максимальну кількість повідомлень (це можна зробити тут)
    • Переконайтеся, що ваш пароль принаймні 7 символів і надійний (за даними Google)
    • Переконайтеся, що вам не потрібно спочатку вводити код captcha. Це можна зробити, надіславши тестовий лист зі свого браузера.
  • Внесіть зміни в web.config (або app.config, я ще цього не пробував, але я вважаю, що це так само просто, щоб це працювало у програмі Windows):
<configuration>
    <appSettings>
        <add key="EnableSSLOnMail" value="True"/>   
    </appSettings>

    <!-- other settings --> 

    ...

    <!-- system.net settings -->
    <system.net>
        <mailSettings>
            <smtp from="yourusername@gmail.com" deliveryMethod="Network">
                <network 
                    defaultCredentials="false" 
                    host="smtp.gmail.com" 
                    port="587" 
                    password="stR0ngPassW0rd" 
                    userName="yourusername@gmail.com"
                    />
                <!-- When using .Net 4.0 (or later) add attribute: enableSsl="true" and you're all set-->
            </smtp>
        </mailSettings>
    </system.net>
</configuration>
Add a Class to your project:

Imports System.Net.Mail

Public Class SSLMail

    Public Shared Sub SendMail(ByVal e As System.Web.UI.WebControls.MailMessageEventArgs)

        GetSmtpClient.Send(e.Message)

        'Since the message is sent here, set cancel=true so the original SmtpClient will not try to send the message too:
        e.Cancel = True

    End Sub

    Public Shared Sub SendMail(ByVal Msg As MailMessage)
        GetSmtpClient.Send(Msg)
    End Sub

    Public Shared Function GetSmtpClient() As SmtpClient

        Dim smtp As New Net.Mail.SmtpClient
        'Read EnableSSL setting from web.config
        smtp.EnableSsl = CBool(ConfigurationManager.AppSettings("EnableSSLOnMail"))
        Return smtp
    End Function

End Class

А тепер, коли ви хочете надсилати електронні листи, вам потрібно лише зателефонувати SSLMail.SendMail:

наприклад, на сторінці з контролем PasswordRecovery:

Partial Class RecoverPassword
Inherits System.Web.UI.Page

Protected Sub RecoverPwd_SendingMail(ByVal sender As Object, ByVal e As System.Web.UI.WebControls.MailMessageEventArgs) Handles RecoverPwd.SendingMail
    e.Message.Bcc.Add("webmaster@example.com")
    SSLMail.SendMail(e)
End Sub

End Class

Або в будь-якому місці коду ви можете зателефонувати:

SSLMail.SendMail(New system.Net.Mail.MailMessage("from@from.com","to@to.com", "Subject", "Body"})

Я сподіваюся, що це допоможе кожному, хто наткнеться на цю посаду! (Я використовував VB.NET, але я думаю, що це тривіально для перетворення його на будь-яку мову .NET.)


+1 "enableSsl =" true "- це працює для застарілого додатка, який спеціально не встановлює властивість Smtp.enableSsl без повторного складання збірок. Відмінна порада!
Metro Smurf

і не забувайте про брандмауер. Порт 587 - це не звичайний порт для відкриття.
Гай Лоу

13
Dim SMTPClientObj As New Net.Mail.SmtpClient
SMTPClientObj.UseDefaultCredentials = False
SMTPClientObj.Credentials = New System.Net.NetworkCredential("myusername@gmail.com", "mypwd")
SMTPClientObj.Host = "smtp.gmail.com"
SMTPClientObj.Port = 587
SMTPClientObj.EnableSsl = True
SMTPClientObj.Send("myusername@gmail.com","yourusername@gmail.com","test","testbody")

Якщо ви отримаєте помилку типу "SMTP-сервер вимагає захищеного з'єднання або клієнт не був автентифікований. Відповідь сервера була: 5.5.1. Потрібна автентифікація. Дізнайтеся більше на", як я отримав до цього, переконайтеся, що рядок SMTPClientObj.UseDefaultCredentials = Falseвключена та ця лінія повинні до SMTPClientObj.Credentials.

Я намагався переключити ці 2 лінії навпаки і повернулася 5.5.1 Потрібна помилка аутентифікації .


Саме це сталося зі мною. Хто думав, що порядок встановлення властивості виправить / порушить речі!
Білл Ян

Це було і для мене питання, я змінив порядок, як було запропоновано, і він працює чудово - головні болі, так!
eth0

13

Ох ... Це дивовижно ... Спочатку я не міг надіслати електронний лист з будь-яких причин. Але після того, як я змінив послідовність цих двох рядків, як показано нижче, це працює чудово.

//(1)
client.UseDefaultCredentials = true;
//(2)
client.Credentials = new System.Net.NetworkCredential("username@gmail.com", "password");

Сподіваюся, що це допоможе !!! :)


1
Так, порядок робить різницю. Особливо, коли ви встановлюєте облікові дані властивостей і не хочете використовувати облікові дані за замовчуванням.
Стефан Цветановський

1
Згідно з документацією, для використання облікових даних потрібно встановити UseDefaultCredentials = false. Однак ці дві установки здаються таємно переплетеними. Якщо встановити UseDefaultCredentials значення true або false, це матиме побічний ефект від встановлення Credentials to null. Здається, що встановлення Повноважних даних може побічно встановити UseDefaultCredentials = false. Не задокументовано, як це роблять, це може бути помилка або просто кульгавий розробник.
Аарон

10

Проблема полягає не в технічній можливості надсилати через gmail. Це працює в більшості ситуацій. Якщо вам не вдається надіслати машину для надсилання, це зазвичай відбувається через те, що машина хоча б раз не була аутентифікована з людиною на елементах управління.

Проблема, з якою стикається більшість користувачів, полягає в тому, що Google постійно вирішує змінювати вихідні межі. Ви завжди повинні додавати захисний код до свого рішення. Якщо ви почнете бачити помилки, відмовтеся від швидкості надсилання і просто на деякий час припиніть надсилання. Якщо ви намагаєтеся надіслати Google, іноді додасте додатковий час до періоду затримки, перш ніж ви зможете знову надіслати.

Те, що я зробив у своїй поточній системі, - це надсилання з 1,5 секундою затримки між кожним повідомленням. Потім, якщо я отримаю якісь помилки, зупиніться на 5 хвилин, а потім почніть знову. Зазвичай це працює і дозволить вам надсилати ліміти облікового запису (востаннє я перевіряв, що це 2 000 для головних входів клієнтів на день).


1
Це була саме моя проблема! Коли я розгорнувся до виробництва, у мене виникла проблема, і після входу в Gmail на самому сервері вона знову почала працювати.
Цього року


9

У мене була така ж проблема, але виявилося, що мій захист від вірусів блокував вихідний "спам" електронний лист. Якщо вимкнути це, я дозволив мені використовувати порт 587 для надсилання електронної пошти SMTP через GMail


Я відключив Windows Defender, і він також почав працювати.
MorioBoncz

9

Якщо тут нічого для вас не працює, можливо, вам доведеться дозволити доступ до свого облікового запису gmail із сторонніх додатків. Це була моя проблема. Щоб дозволити доступ, виконайте такі дії:

  1. Увійдіть у свій обліковий запис gmail.
  2. Перейдіть на сторінку https://accounts.google.com/DisplayUnlockCaptcha та натисніть кнопку, щоб дозволити доступ.
  3. Перейдіть на цю сторінку https://www.google.com/settings/security/lesssecureapps і дозвольте доступ до менш захищених програм.

Це спрацювало для мене, сподіваюся, це працює для когось іншого!


8

Я не впевнений, яка версія .NET для цього потрібна, тому що згадуваний eglasius не має відповідних enableSslпараметрів (я використовую .NET 4.0, але я підозрюю, що він працює в .NET 2.0 або новіших версіях), але ця конфігурація, що використовується, працювала для я (і не вимагає від вас використання будь-якої програмної конфігурації):

<system.net>
  <mailSettings>
    <smtp from="myusername@gmail.com" deliveryMethod="Network">
      <network defaultCredentials="false" enableSsl="true" host="smtp.gmail.com" port="587" password="password" userName="myusername@gmail.com"/>
    </smtp>
  </mailSettings>
</system.net>

Вам, можливо, доведеться спочатку ввімкнути POP або IMAP у своєму обліковому записі Gmail: https://mail.google.com/mail/?shva=1#settings/fwdandpop

Рекомендую спробувати спершу звичайний поштовий клієнт ...


2
це новинка для 4.0, порівняйте версії за адресою -> msdn.microsoft.com/en-us/library/ms164242(v=VS.90).aspx
eglasius

Привіт Eglasius ... ОК, дякую за це! Дивно, що вони мають лише програмний підхід до попереднього 4.0. Напевно, ми всі час від часу забуваємо :)
Wiebe Tijsma

6

@Andres Pompiglio: Так, потрібно хоча б раз змінити пароль. Цей код працює чудово:

//Satrt Send Email Function
public string SendMail(string toList, string from, string ccList,
    string subject, string body)
{

    MailMessage message = new MailMessage();
    SmtpClient smtpClient = new SmtpClient();
    string msg = string.Empty;
    try
    {
        MailAddress fromAddress = new MailAddress(from);
        message.From = fromAddress;
        message.To.Add(toList);
        if (ccList != null && ccList != string.Empty)
            message.CC.Add(ccList);
        message.Subject = subject;
        message.IsBodyHtml = true;
        message.Body = body;
        // We use gmail as our smtp client
        smtpClient.Host = "smtp.gmail.com";   
        smtpClient.Port = 587;
        smtpClient.EnableSsl = true;
        smtpClient.UseDefaultCredentials = true;
        smtpClient.Credentials = new System.Net.NetworkCredential(
            "Your Gmail User Name", "Your Gmail Password");

        smtpClient.Send(message);
        msg = "Successful<BR>";
    }
    catch (Exception ex)
    {
        msg = ex.Message;
    }
    return msg;
}
//End Send Email Function

І ви можете здійснити виклик функції, використовуючи:

Response.Write(SendMail(recipient Address, "UserName@gmail.com", "ccList if any", "subject", "body"))

Сервер SMTP вимагає безпечного з'єднання або клієнт не був автентифікований. Відповідь сервера була: 5.5.1 Потрібна автентифікація. Дізнайтеся більше на сайті
Савас Адар

6

Я використовував корпоративне VPN-з'єднання. Це було причиною, чому я не міг надсилати електронну пошту зі своєї заявки. Це працює, якщо я відключаюсь від VPN.


5

Також я виявив, що обліковий запис, в якому я входив, був деактивований google чомусь. Після того, як я скинув свій пароль (до того самого, як це було раніше), тоді мені вдалося відправити електронні листи просто чудово. Я також отримував повідомлення 5.5.1.


5

Я також намагався вирішити багато рішень, але внести деякі зміни, це спрацює

host = smtp.gmail.com
port = 587
username = email@gmail.com
password = password
enabledssl = true

З smtpclient вищевказані параметри працюють в gmail


5

Я отримував таку ж помилку, і жодне з перерахованих вище рішень не допомогло.

Моя проблема полягала в тому, що я запускав код з віддаленого сервера, який ніколи не використовувався для входу в обліковий запис gmail.

Я відкрив браузер на віддаленому сервері і звідти увійшов у gmail. Він задав питання безпеки, щоб перевірити, що це я, оскільки це було нове місце. Після перевірки безпеки я зміг пройти автентифікацію за допомогою коду.



4

Я зіткнувся з цією ж помилкою ( "SMTP-сервер вимагає безпечного з'єднання або клієнт не був автентифікований. Відповідь сервера була: 5.5.1. Потрібна автентифікація. Дізнайтеся більше на" ) і дізналася, що я використовую неправильний пароль. Я виправив облікові дані для входу, і він надіслав правильно.

Я знаю, що це пізно, але, можливо, це допоможе комусь іншому.


4

Ще одна річ, яку я знайшов - це те, що ви повинні хоча б раз змінити свій пароль. І спробуйте використовувати пароль безпечного рівня (не використовуйте того самого користувача, як пароль, 123456 тощо)


4

Ще одне можливе рішення для вас. У мене виникли подібні проблеми з підключенням до gmail через IMAP. Спробувавши всі рішення, які я натрапив, про що ви прочитаєте тут і в іншому місці SO (наприклад, увімкніть IMAP, увімкніть менш безпечний доступ до вашої пошти, використовуючи https://accounts.google.com/b/0/displayunlockcaptcha та і т. д.) я фактично ще раз створив новий акаунт gmail.

У моєму первісному тесті я створив перший акаунт gmail, який я підключив до свого основного акаунта gmail. Це призвело до помилкової поведінки, коли Google посилався на неправильний обліковий запис. Наприклад, запуск https://accounts.google.com/b/0/displayunlockcaptcha відкрив мій основний рахунок, а не той, який я створив для цього.

Тож, коли я створив новий обліковий запис і не підключив його до свого основного облікового запису, після виконання всіх відповідних кроків, як описано вище, я виявив, що він працює добре!

Я ще цього не підтвердив (тобто відтворив), але, мабуть, це зробив для мене ... сподіваюся, що це допомагає.


4
  1. Спочатку перевірте налаштування облікового запису gmail та увімкніть його в розділі "Доступ для менш захищених програм" введіть тут опис зображення

Ми настійно рекомендуємо використовувати захищений додаток, як-от Gmail, для доступу до свого облікового запису. Усі програми, створені Google, відповідають цим стандартам безпеки. З іншого боку, використання менш захищеного додатка може призвести до вразливості вашого облікового запису. Вчи більше.

  1. Встановити

    smtp.UseDefaultCredentials = false;

    раніше

    smtp.Credentials = new NetworkCredential(fromAddress, fromPassword);

4

Одна або кілька причин для цієї помилки.

  • Увійдіть за допомогою свого Gmail (або будь-якого іншого, якщо) у вашій локальній системі.

  • Також перевірте наявність менш безпечного додатка та встановіть його на "Увімкнути" тут Посилання для GMAIL. https://www.google.com/settings/security/lesssecureapps

  • перевірте EnableSsl у своєму електронному коді, а також встановіть його як істинне.

    smtp.EnableSsl = true;
  • Також перевірте, який порт ви зараз використовуєте. 25 є глобальним, але ви можете перевірити його і для інших, наприклад 587. перевірити тут. Чи відбувається все спілкування через SMTP за 25?

  • ЯКЩО ВИ ВДАЛИТИ : Перевірте відповідь Влада Тамаса вище.


Що робити, якщо я не хочу вмикати менш безпечні налаштування додатків, як це роблять інші клієнти електронної пошти, чому я не можу зробити те ж саме з c #?
користувач734028

3

Ви також можете підключитися через порт 465, але через деякі обмеження простору імен System.Net.Mail вам, можливо, доведеться змінити код. Це пояснюється тим, що простір імен не надає можливість встановлювати неявні SSL-з'єднання. Про це йдеться на веб-сторінці http://blogs.msdn.com/b/webdav_101/archive/2008/06/02/system-net-mail-with-ssl-to-authenticate-against-port-465.aspx , і я надали приклад того, як використовувати CDO (Collaborative Data Object) в іншій дискусії ( GMail SMTP через C # .Net помилки на всіх портах ).


3

У мене ця проблема була вирішена. Мабуть, це повідомлення використовується у кількох типах помилок. Моя проблема полягала в тому, що я досяг максимуму 500 відправлених листів.

увійдіть до облікового запису та вручну спробуйте надіслати пошту. Якщо ліміт досягнуто, він повідомить вас про це


2

Якщо у вашому обліковому записі Gmail активовано двоетапну перевірку, вам потрібно буде створити пароль програми. https://support.google.com/accounts/answer/185833?p=app_passwords_sa&hl=uk&visit_id=636903322072234863-1319515789&rd=1 Виберіть Як створити параметр пароля програми та виконайте наведені кроки. Скопіюйте та вставте згенерований пароль програми де-небудь, оскільки ви не зможете відновити його після натискання кнопки ДОСТАНОВО.


2
smtp.Host = "smtp.gmail.com"; //host name
smtp.Port = 587; //port number
smtp.EnableSsl = true; //whether your smtp server requires SSL
smtp.DeliveryMethod = System.Net.Mail.SmtpDeliveryMethod.Network;
smtp.Credentials = new NetworkCredential(fromAddress, fromPassword);
smtp.Timeout = 20000;

1

Змініть пароль gmail і повторіть спробу, він повинен працювати після цього.

Не знаю чому, але щоразу, коли ви змінюєте хостинг, ви повинні змінити свій пароль.

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.