これは私の新しいクラストップにあります:
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");
最初に、zip ファイル内のいくつかのテキスト ファイルの圧縮ファイルを送信するのは約 5kb です。zip ファイルの送信は問題ありません。
次に、19 MB の zip ファイルを送信します。その中には、それぞれの写真が約 7.55 MB の画像/写真が含まれています。今回は、zip ファイルがメールに届きません。
テキスト ファイルの最初の zip ファイルは取得できますが、2 番目の zip ファイルは取得できません。Gmail のメール アカウントを使用して、このファイルを通常の isp メール アカウントに送信しています。
Gmail では 25 MB 以上を送信できないことはわかっていますが、写真の zip ファイルは 19 MB です
2 番目の zip ファイルを取得できない理由として、他に何が考えられますか?
編集:
私は何が問題なのか知っていると思います。テキストファイルのzipを取得して作成するときは、フィルター「.txt」を実行しましたが、写真のzipファイルを使用するときは、すべてのファイルに「.*」を実行しました。
string[] photosfiles = Directory.GetFiles(s, "*.*", SearchOption.AllDirectories);
その結果、zip ファイルに .ini を含むファイルができました。
すべての画像タイプをフィルタリングするにはどうすればよいですか?
string[] photosfiles = Directory.GetFiles(s, "*.jpg", SearchOption.AllDirectories);
これはjpgファイルでのみ機能しますが、pngまたはbmpも取得したい場合は?