除了未发送电子邮件外,如何拍摄?
我有一个发送电子邮件的课程,如下所示:
public class Email {
private SmtpClient SMTPCliente;
private string From;
public Email(string smtp, int port, bool ssl = false) {
SMTPCliente = new SmtpClient(smtp, port);
SMTPCliente.EnableSsl = ssl;
SMTPCliente.DeliveryMethod = SmtpDeliveryMethod.Network;
SMTPCliente.Timeout = 5000;
}
public void Login(string username, string password) {
From = username;
SMTPCliente.Credentials = new NetworkCredential(username, password);
}
public void Send(string message, string assunto, string destinatario, string attach = "") {
MailMessage msg = new MailMessage();
msg.DeliveryNotificationOptions = DeliveryNotificationOptions.OnFailure;
msg.IsBodyHtml = true;
msg.From = new MailAddress(From);
msg.Body = message;
msg.Subject = assunto;
msg.To.Add(destinatario);
if (!string.IsNullOrEmpty(attach))
msg.Attachments.Add(new Attachment(attach));
SMTPCliente.Send(msg);
//msg.Dispose();
//msg.Attachments.Dispose();
}
我正在使用try,catch块尝试捕获异常,但是什么也没有发生……程序无限运行并且不会引发任何错误。
try {
Email email = new Email("smtp.live.com", 10);
email.Login("this@gmail.com", "password");
email.Send("My message", "Assunto", "destino@email.com");
} catch (FormatException) {
//invalid email pattern
//A cadeia de caracteres especificada não está no formato necessário para um endereço de email.
} catch (ArgumentException) {
//no attachment
//O parâmetro 'fileName' não pode ser uma cadeia de caracteres vazia.
} catch (Exception ex) {
MessageBox.Show(ex.Message.ToString());
}
虚拟smtp数据仅用于案例