AuthenticationException при попытке отправить электронную почту через почтовую клиентскую программу с помощью Google smtp - PullRequest
0 голосов
/ 21 мая 2019

Я пытался узнать, как использовать пакет Net.Mail в C # и столкнулся с загадкой из getgo. Я получаю одно и то же исключение AuthenticationException, когда пытаюсь протестировать программу.

Я проверил некоторые другие сообщения на SO, и люди упомянули, что их антивирус заменяет сертификат, поэтому я попытался отключить его безрезультатно, а также попытался просто обойти его, отключив SSL-аутентификацию, но это только изменило мое исключение, так как, очевидно, Google выиграл не принимаю незащищенную передачу через порт 587. Хотя я бы действительно предпочел использовать аутентификацию SSL.

using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;
using System.Net.Mail;
using System.Net;

namespace EmailSender
{
    public partial class Mailer : Form
    {
        public Mailer()
        {
            InitializeComponent();
        }

        private void Mailer_Load(object sender, EventArgs e)
        {

        }

        private void btn_send_Click(object sender, EventArgs e)
        {
            MailMessage message = new MailMessage();
            message.From = new MailAddress(txt_email.Text);
            message.Subject = txt_subject.Text;
            message.Body = txt_body.Text;
            foreach (string s in txt_recipients.Text.Split(';'))
            {
                message.To.Add(s);
            }
            SmtpClient client = new SmtpClient();
            client.Credentials = new NetworkCredential(txt_email.Text, txt_password.Text);
            client.Host = "smtp-gmail.com";
            client.Port = 587;
            client.EnableSsl = true;
            client.Send(message);
        }
    }
}

Вот моя трассировка стека

    System.dll!System.Net.Mail.SmtpClient.Send(System.Net.Mail.MailMessage message) Unknown
>   EmailSender.exe!EmailSender.Mailer.btn_send_Click(object sender, System.EventArgs e) Line 42    C#
    System.Windows.Forms.dll!System.Windows.Forms.Control.OnClick(System.EventArgs e)   Unknown
    System.Windows.Forms.dll!System.Windows.Forms.Button.OnClick(System.EventArgs e)    Unknown
    System.Windows.Forms.dll!System.Windows.Forms.Button.OnMouseUp(System.Windows.Forms.MouseEventArgs mevent)  Unknown
    System.Windows.Forms.dll!System.Windows.Forms.Control.WmMouseUp(ref System.Windows.Forms.Message m, System.Windows.Forms.MouseButtons button, int clicks)   Unknown
    System.Windows.Forms.dll!System.Windows.Forms.Control.WndProc(ref System.Windows.Forms.Message m)   Unknown
    System.Windows.Forms.dll!System.Windows.Forms.ButtonBase.WndProc(ref System.Windows.Forms.Message m)    Unknown
    System.Windows.Forms.dll!System.Windows.Forms.Button.WndProc(ref System.Windows.Forms.Message m)    Unknown
    System.Windows.Forms.dll!System.Windows.Forms.Control.ControlNativeWindow.OnMessage(ref System.Windows.Forms.Message m) Unknown
    System.Windows.Forms.dll!System.Windows.Forms.Control.ControlNativeWindow.WndProc(ref System.Windows.Forms.Message m)   Unknown
    System.Windows.Forms.dll!System.Windows.Forms.NativeWindow.DebuggableCallback(System.IntPtr hWnd, int msg, System.IntPtr wparam, System.IntPtr lparam)  Unknown
    [Native to Managed Transition]  
    [Managed to Native Transition]  
    System.Windows.Forms.dll!System.Windows.Forms.Application.ComponentManager.System.Windows.Forms.UnsafeNativeMethods.IMsoComponentManager.FPushMessageLoop(System.IntPtr dwComponentID, int reason, int pvLoopData)  Unknown
    System.Windows.Forms.dll!System.Windows.Forms.Application.ThreadContext.RunMessageLoopInner(int reason, System.Windows.Forms.ApplicationContext context)    Unknown
    System.Windows.Forms.dll!System.Windows.Forms.Application.ThreadContext.RunMessageLoop(int reason, System.Windows.Forms.ApplicationContext context) Unknown
    System.Windows.Forms.dll!System.Windows.Forms.Application.Run(System.Windows.Forms.Form mainForm)   Unknown
    EmailSender.exe!EmailSender.Program.Main() Line 19  C#
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...