这是在我的新班上:
MailMessage photosmessage;
这是我在新课程中使用的方法:
public void SendPhotos(string fileNameToSend)
{
try
{
MailAddress from = new MailAddress("chocolade@gmail.com", "User " + (char)0xD8 + " Name",
System.Text.Encoding.UTF8);
MailAddress to = new MailAddress("MyEimalOfMyInternet");
photosmessage = new MailMessage(from, to);
photosmessage.Body = "Please check the log file attachment i have some bugs.";
string someArrows = new string(new char[] { '\u2190', '\u2191', '\u2192', '\u2193' });
photosmessage.Body += Environment.NewLine + someArrows;
photosmessage.BodyEncoding = System.Text.Encoding.UTF8;
photosmessage.Subject = "Log File For Checking Bugs" + someArrows;
photosmessage.SubjectEncoding = System.Text.Encoding.UTF8;
Attachment myAttachment = new Attachment(fileNameToSend, MediaTypeNames.Application.Octet);
photosmessage.Attachments.Add(myAttachment);
SmtpClient docsend = new SmtpClient("smtp.gmail.com", 587);
docsend.SendCompleted += new SendCompletedEventHandler(docsend_SendCompleted);
docsend.EnableSsl = true;
docsend.Timeout = 10000;
docsend.DeliveryMethod = SmtpDeliveryMethod.Network;
docsend.UseDefaultCredentials = false;
docsend.Credentials = new NetworkCredential("gmailusername", "gmailpassword");
string userState = "test message1";
docsend.SendAsync(photosmessage, userState);
SendLogFile.Enabled = false;
}
catch (Exception errors)
{
Logger.Write("Error sending message :" + errors);
}
}
我在 Form1 中使用这种方法,如下所示:
se.SendPhotos(outputtext+"\\"+"textfiles.zip");
se.SendPhotos(outputphotos + "\\" + "photofiles.zip");
第一次它发送压缩文件中一些文本文件的压缩文件大约是5kb 发送压缩文件没有问题。
然后它发送一个 19mb 的 zip 文件,里面有一些图像/照片,每张照片大约 7.55mb 这次 zip 文件永远不会收到我的电子邮件。
文本文件的第一个 zip 文件我得到了它,但第二个我从来没有得到它。我使用我的 gmail 电子邮件帐户将此文件发送到我的常规 isp 电子邮件帐户。
我知道在 gmail 中你不能发送超过 25mb 但照片的 zip 文件是 19mb
还有什么可能是我从来没有得到第二个 zip 文件的原因?
编辑:
我想我知道是什么问题。在获取和创建文本文件的 zip 文件时,我做了一个过滤器“ .txt”,但在使用照片 zip 文件时,我做了“ .*”所有文件:
string[] photosfiles = Directory.GetFiles(s, "*.*", SearchOption.AllDirectories);
结果是我在 zip 文件中有一个带有 .ini 的文件。
如何过滤所有图像类型?
string[] photosfiles = Directory.GetFiles(s, "*.jpg", SearchOption.AllDirectories);
这仅适用于 jpg 文件,但如果我还想获得 png 或 bmp ?