///----------------------------------------------------------------------------- /// <summary> /// 出勤簿・車両走行報告書エクセルシートを送信する 【出勤簿要求時】</summary> /// <param name="sD"> /// メールデータ</param> /// <param name="file"> /// 添付する出勤簿・車両走行報告書エクセルシートのパスを含むファイル名</param> ///----------------------------------------------------------------------------- private void sendXlsFile(string pToAdd, string [] file) { // メール設定情報 if (!dts.メール設定.Any(a => a.ID == global.mailKey)) { MessageBox.Show("メール設定情報が未登録のためメール送信はできません", "メール設定未登録", MessageBoxButtons.OK, MessageBoxIcon.Exclamation); return; } mailReceiveDataSet.メール設定Row r = dts.メール設定.Single(a => a.ID == global.mailKey); // smtpサーバーを指定する SmtpClient client = new SmtpClient(); client.Host = r.SMTPサーバー; client.Port = r.SMTPポート番号; client.DeliveryMethod = SmtpDeliveryMethod.Network; client.Credentials = new System.Net.NetworkCredential(r.ログイン名, r.パスワード); client.EnableSsl = false; client.Timeout = 10000; //メッセージインスタンス生成 MailMessage message = new MailMessage(); //送信元 message.From = new MailAddress(r.メールアドレス, r.メール名称); //件名 message.Subject = "出勤簿・車両走行報告書エクセルシート"; // 送信メールカウント int mCnt = 0; string toAdd = ""; string toName = ""; try { toAdd = pToAdd; toName = ""; //宛先 message.To.Clear(); message.To.Add(new MailAddress(toAdd, toName)); //本文 message.Body = ""; message.Body += "要求された出勤簿・車両走行報告書エクセルシートを送付します。"; // 添付ファイル for (int i = 0; i < file.Length; i++) { Attachment att = new Attachment(file[i]); message.Attachments.Add(att); } message.BodyEncoding = System.Text.Encoding.GetEncoding(50220); // 送信する client.Send(message); // ログ書き込み putMaillog(toAdd, message.Subject, "送信しました"); // カウント mCnt++; } catch (SmtpException ex) { //エラーメッセージ string errMsg = ex.Message + Environment.NewLine + Environment.NewLine + "メール情報設定画面で設定内容を確認してください。その後、再実行してください。"; MessageBox.Show(errMsg, "メール送信失敗", MessageBoxButtons.OK, MessageBoxIcon.Exclamation); // ログ書き込み putMaillog(toAdd, message.Subject, ex.Message); } finally { // 後片付け message.Dispose(); } }
///----------------------------------------------------------------------------- /// <summary> /// 社員認証不可時の通知メールを送信する 【出勤簿要求時】</summary> /// <param name="sD"> /// メールデータ</param> ///----------------------------------------------------------------------------- private void sendUnAuthMailReq(string[] sD) { // メール設定情報 if (!dts.メール設定.Any(a => a.ID == global.mailKey)) { MessageBox.Show("メール設定情報が未登録のためメール送信はできません", "メール設定未登録", MessageBoxButtons.OK, MessageBoxIcon.Exclamation); return; } mailReceiveDataSet.メール設定Row r = dts.メール設定.Single(a => a.ID == global.mailKey); // smtpサーバーを指定する SmtpClient client = new SmtpClient(); client.Host = r.SMTPサーバー; client.Port = r.SMTPポート番号; client.DeliveryMethod = SmtpDeliveryMethod.Network; client.Credentials = new System.Net.NetworkCredential(r.ログイン名, r.パスワード); client.EnableSsl = false; client.Timeout = 10000; //メッセージインスタンス生成 MailMessage message = new MailMessage(); //送信元 message.From = new MailAddress(r.メールアドレス, r.メール名称); //件名 message.Subject = "マスター未登録社員の出勤簿が要求されました"; // 送信メールカウント int mCnt = 0; string toAdd = ""; string toName = ""; try { toAdd = sD[3]; toName = ""; //宛先 message.To.Clear(); message.To.Add(new MailAddress(toAdd, toName)); //本文 message.Body = ""; message.Body += "要求された出勤簿データの個人コードはマスター未登録です。" + Environment.NewLine; message.Body += "個人コードを確認して再度要求処理を行ってください。" + Environment.NewLine + Environment.NewLine; message.Body += "【要求された出勤簿データ】" + Environment.NewLine; message.Body += "対象年月:" + sD[0] + "年" + sD[1] + "月" + Environment.NewLine; message.Body += "個人コード:" + sD[2] + " ※マスター未登録コードです。"; message.BodyEncoding = System.Text.Encoding.GetEncoding(50220); // 送信する client.Send(message); // ログ書き込み putMaillog(toAdd, message.Subject, "送信しました"); // カウント mCnt++; } catch (SmtpException ex) { //エラーメッセージ string errMsg = ex.Message + Environment.NewLine + Environment.NewLine + "メール情報設定画面で設定内容を確認してください。その後、再実行してください。"; MessageBox.Show(errMsg, "メール送信失敗", MessageBoxButtons.OK, MessageBoxIcon.Exclamation); // ログ書き込み putMaillog(toAdd, message.Subject, ex.Message); } finally { // 後片付け message.Dispose(); } }