RKparmar Ответов: 4

Сбой отправки почты : Gmail : как это решить ?


Привет ,
Я использовал этот код, и я упоминаю ниже ошибку pls помогите мне, как это исправить . :
try
{
    MailMessage mail = new MailMessage();
    mail.Subject = txtSubject.Text ;
    mail.From = new MailAddress("Sender@gmail.com");
    mail.To.Add(txtTo.Text.Trim());
    mail.Body = txtBody.Text;
    mail.IsBodyHtml = true;

    SmtpClient smtp = new SmtpClient("smtp.gmail.com", 587);
    smtp.EnableSsl = true;
    NetworkCredential netCre = new NetworkCredential("Sender@gmail.com", "******");
    smtp.Credentials = netCre;

   if (lblAttachment.Text != "")
    {
        Attachment att = new Attachment(lblAttachment.Text);
        mail.Attachments.Add(att);
    }
    smtp.Send(mail);
    MessageBox.Show("Mail Sended successfully !");

Я получаю эту ошибку : как решить эту ошибку :

Failure sending mail


See the end of this message for details on invoking 
just-in-time (JIT) debugging instead of this dialog box.

************** Exception Text **************
System.Net.Mail.SmtpException: Failure sending mail. ---> System.Net.WebException: Unable to connect to the remote server ---> System.Net.Sockets.SocketException: An attempt was made to access a socket in a way forbidden by its access permissions 74.125.25.109:587
   at System.Net.Sockets.Socket.DoConnect(EndPoint endPointSnapshot, SocketAddress socketAddress)
   at System.Net.ServicePoint.ConnectSocketInternal(Boolean connectFailure, Socket s4, Socket s6, Socket& socket, IPAddress& address, ConnectSocketState state, IAsyncResult asyncResult, Exception& exception)
   --- End of inner exception stack trace ---
   at System.Net.ServicePoint.GetConnection(PooledStream PooledStream, Object owner, Boolean async, IPAddress& address, Socket& abortSocket, Socket& abortSocket6)
   at System.Net.PooledStream.Activate(Object owningObject, Boolean async, GeneralAsyncDelegate asyncCallback)
   at System.Net.PooledStream.Activate(Object owningObject, GeneralAsyncDelegate asyncCallback)
   at System.Net.ConnectionPool.GetConnection(Object owningObject, GeneralAsyncDelegate asyncCallback, Int32 creationTimeout)
   at System.Net.Mail.SmtpConnection.GetConnection(ServicePoint servicePoint)
   at System.Net.Mail.SmtpTransport.GetConnection(ServicePoint servicePoint)
   at System.Net.Mail.SmtpClient.GetConnection()
   at System.Net.Mail.SmtpClient.Send(MailMessage message)
   --- End of inner exception stack trace ---
   at System.Net.Mail.SmtpClient.Send(MailMessage message)
   at MailSend.Form1.button1_Click(Object sender, EventArgs e)
   at System.Windows.Forms.Control.OnClick(EventArgs e)
   at System.Windows.Forms.Button.OnClick(EventArgs e)
   at System.Windows.Forms.Button.OnMouseUp(MouseEventArgs mevent)
   at System.Windows.Forms.Control.WmMouseUp(Message& m, MouseButtons button, Int32 clicks)
   at System.Windows.Forms.Control.WndProc(Message& m)
   at System.Windows.Forms.ButtonBase.WndProc(Message& m)
   at System.Windows.Forms.Button.WndProc(Message& m)
   at System.Windows.Forms.Control.ControlNativeWindow.OnMessage(Message& m)
   at System.Windows.Forms.Control.ControlNativeWindow.WndProc(Message& m)
   at System.Windows.Forms.NativeWindow.Callback(IntPtr hWnd, Int32 msg, IntPtr wparam, IntPtr lparam)


************** Loaded Assemblies **************
mscorlib
    Assembly Version: 4.0.0.0
    Win32 Version: 4.0.30319.17379 built by: FXBETAREL
    CodeBase: file:///C:/Windows/Microsoft.NET/Framework/v4.0.30319/mscorlib.dll
----------------------------------------
MailSend
    Assembly Version: 1.0.0.0
    Win32 Version: 1.0.0.0
    CodeBase: file:///D:/MailSend.exe
----------------------------------------
System.Windows.Forms
    Assembly Version: 4.0.0.0
    Win32 Version: 4.0.30319.17379 built by: FXBETAREL
    CodeBase: file:///C:/Windows/Microsoft.Net/assembly/GAC_MSIL/System.Windows.Forms/v4.0_4.0.0.0__b77a5c561934e089/System.Windows.Forms.dll
----------------------------------------
System.Drawing
    Assembly Version: 4.0.0.0
    Win32 Version: 4.0.30319.17379 built by: FXBETAREL
    CodeBase: file:///C:/Windows/Microsoft.Net/assembly/GAC_MSIL/System.Drawing/v4.0_4.0.0.0__b03f5f7f11d50a3a/System.Drawing.dll
----------------------------------------
System
    Assembly Version: 4.0.0.0
    Win32 Version: 4.0.30319.17379 built by: FXBETAREL
    CodeBase: file:///C:/Windows/Microsoft.Net/assembly/GAC_MSIL/System/v4.0_4.0.0.0__b77a5c561934e089/System.dll
----------------------------------------
System.Configuration
    Assembly Version: 4.0.0.0
    Win32 Version: 4.0.30319.17379 built by: FXBETAREL
    CodeBase: file:///C:/Windows/Microsoft.Net/assembly/GAC_MSIL/System.Configuration/v4.0_4.0.0.0__b03f5f7f11d50a3a/System.Configuration.dll
----------------------------------------
System.Xml
    Assembly Version: 4.0.0.0
    Win32 Version: 4.0.30319.17379 built by: FXBETAREL
    CodeBase: file:///C:/Windows/Microsoft.Net/assembly/GAC_MSIL/System.Xml/v4.0_4.0.0.0__b77a5c561934e089/System.Xml.dll
----------------------------------------

************** JIT Debugging **************
To enable just-in-time (JIT) debugging, the .config file for this
application or computer (machine.config) must have the
jitDebugging value set in the system.windows.forms section.
The application must also be compiled with debugging
enabled.

For example:
<pre lang="HTML">
<configuration>
    <system.windows.forms jitDebugging="true" />
</configuration>
<pre lang="xml"></pre>

When JIT debugging is enabled, any unhandled exception
will be sent to the JIT debugger registered on the computer
rather than be handled by this dialog box.

Привет спасибо

4 Ответов

Рейтинг:
28

ZurdoDev

Ошибка имеет вид "была предпринята попытка получить доступ к сокету способом, запрещенным его разрешениями доступа", вам нужно будет связаться с вашим администратором smtp, чтобы исправить это. Ваш код выглядит нормально. Таким образом, он может быть заблокирован для отправки на вашей стороне, или это может быть ваша учетная запись имеет проблемы с gmail.


Рейтинг:
22

Tadit Dash (ତଡିତ୍ କୁମାର ଦାଶ)

Эта проблема возникает, если брандмауэр или антивирус блокирует порт.

Поскольку вы используете порт 587, проверьте, заблокирован ли этот порт или нет. Вы можете отключить Брандмауэр и антивирус, чтобы проверить отправку почты. Если это работает, то это проблема.

Если вы хотите включить брандмауэр, добавьте одно исключение в Брандмауэр, как описано выше здесь[^]


Рейтинг:
20

Ashok8033

Привет,

Попробовать этот метод,

http://www.serversmtp.com/en/smtp-for-windows-7[^]


Рейтинг:
1

Nithin Suren

Вы используете хорошо определенный антивирус?
Сначала отключите его(остановите процесс из services.msc)
Ty