我有一些代码可以向两个电子邮件地址发送电子邮件和附件:“本地”gmail地址(我的工作电子邮件,其后缀为ucsc.edu,我通过https://mail.google.com/mail/u/0/#inbox访问)和“远程“电子邮件地址(我的个人电子邮件,一个att.net帐户)。
以下代码适用于将电子邮件发送到我的本地/“gmail”帐户,但我没有收到个人att.net帐户中的电子邮件:
public static void SendEmailWithAttachment(string fileToMail, String from, String to, String subj, String body)
{
String server = GetSMTPHostName();
string file = fileToMail;
MailMessage message = new MailMessage(
from,
to,
subj,
body);
Attachment data = new Attachment(file, MediaTypeNames.Application.Octet);
ContentDisposition disposition = data.ContentDisposition;
disposition.CreationDate = System.IO.File.GetCreationTime(file);
disposition.ModificationDate = System.IO.File.GetLastWriteTime(file);
disposition.ReadDate = System.IO.File.GetLastAccessTime(file);
message.Attachments.Add(data);
SmtpClient client = new SmtpClient(server);
client.Credentials = CredentialCache.DefaultNetworkCredentials;
try
{
client.Send(message);
}
catch (Exception ex)
{
Console.WriteLine("Exception caught in SendEmailWithAttachment(): {0}", ex.ToString());
}
data.Dispose();
message.Dispose();
}
除了“to”值(电子邮件收件人)之外,发送到此方法的参数在两种情况下都完全相同。即使在我没有收到电子邮件的情况下,client.Send(消息)行“工作” - 未输入catch块。但它的工作方式与国会议员的工作方式相同 - 声称成功,但实际上并没有实现。
有什么必要让这封电子邮件“穿越Rubicon”?