Как мне поймать внутреннее исключение
Мой код отправки почты ниже не работает правильно. Он не отправляет электронную почту и не возвращает никаких ошибок. Я не получаю исключение вообще из приведенного ниже кода. Как бы я настроил ловить распространенные ошибки, которые могут происходить в приведенном ниже коде?
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.IO;
using System.Net.Mail;
using System.Net;
namespace DataAccess
{
public class DLSendMails
{
public string SendCommentMails(String MemberEmail, int
{
try
{
using (SmtpClient client =
new SmtpClient("smtpout.secureserver.net"))
{
client.Credentials =
new NetworkCredential("webmaster@mysite.com", "pwd");
//client.Credentials
// = CredentialCache.DefaultNetworkCredentials;
//client.DeliveryMethod
// = SmtpDeliveryMethod.Network;
string to = MemberEmail;
var mail = new MailMessage();
mail.From = new MailAddress("webmaster@mysite.com",
"mysite.com");
mail.To.Add(to);
mail.Subject = "New Comment recieved at mysite.com";
mail.Body = "You can read your comment and access your "
+ "profile page by using this link.\n"
+ "http://www.mysite.com/Member.aspx?UserID="
+ PicID;
mail.IsBodyHtml = true;
client.Send(mail);
return "sent mail";
}
}
catch (Exception ex)
{
// exception handling
return ex.ToString();
}
}
}
}
1 ответ
Во-первых, я не уверен, что это было сделано намеренно, но в вашем клиентском коде вы набираете "пароль" вместо "пароль". Это была опечатка или нет?
Кроме того, в этом связанном посте класс C# SmtpClient, не способный отправлять электронную почту с помощью gmail, говорит, что пользователь должен объявить UseDefaultCredentials как false, прежде чем устанавливать новые NetworkCredentials. Кроме того, в той же статье, которую я привел здесь, говорится, что, возможно, может быть вмешательство брандмауэра?
Я надеюсь, что это могло бы помочь, но если нет, я, конечно, продолжу читать об этом, поскольку я хотел бы знать больше об этом! Удачи!