Function sendMail(ByVal 送信先アドレス As String, ByVal 仕入先名称 As String, ByVal 工事名称 As String, _
ByVal 申請者ユーザー名 As String, ByVal 申請者ユーザーアドレス As String, ByVal 承認者ユーザー名 As String, ByVal 承認者ユーザーアドレス As String, _
ByVal 変更日 As Integer, ByVal 注文書番号 As String, ByVal 添付ファイルパス As String, ByVal バイナリ As Byte()) As Boolean
Dim sendflag As Boolean = True
Dim smtp As New System.Net.Mail.SmtpClient(_Myコントロール情報.SMTPサーバー, CInt(Val(_Myコントロール情報.ポート番号)))
Dim enc As System.Text.Encoding = System.Text.Encoding.GetEncoding(_Myコントロール情報.文字コード)
'メールを新規
Dim mail As New System.Net.Mail.MailMessage()
Dim ms As New MemoryStream()
Dim メール件名 As String = ""
Dim メール本文 As String = ""
Try
' ※※※ 注意 ※※※
' MailMessageクラスのBodyEncodingプロパティ指定によるエンコーディングでは、メーラーによって文字化けする可能性あり
' そのため、myEncodeを通して(プログラム上で)エンコードすること
'送信元アドレス
mail.From = New System.Net.Mail.MailAddress(_Myコントロール情報.送信元アドレス.TrimEnd, "", enc)
'送信先アドレス
mail.To.Add(New System.Net.Mail.MailAddress(送信先アドレス.TrimEnd, myEncode(仕入先名称.TrimEnd, enc)))
'複写先アドレス
If 申請者ユーザーアドレス.TrimEnd <> "" Then mail.CC.Add(New System.Net.Mail.MailAddress(申請者ユーザーアドレス.TrimEnd, myEncode(申請者ユーザー名.TrimEnd, enc)))
If 承認者ユーザーアドレス.TrimEnd <> "" Then mail.CC.Add(New System.Net.Mail.MailAddress(承認者ユーザーアドレス.TrimEnd, myEncode(承認者ユーザー名.TrimEnd, enc)))
'EXCELのタイトル
Dim 新規変更文言 As String = ""
If 変更日 = 0 Then
新規変更文言 = "新規"
Else
新規変更文言 = "変更"
End If
メール件名 = "注文書送付(" & 新規変更文言 & ")_注文書番号【" & 注文書番号.TrimEnd & "】"
mail.Subject = myEncode(メール件名, enc)
'メールの内容
メール本文 = _Myコントロール情報.メール本文1 & vbCrLf & _Myコントロール情報.メール本文2 & vbCrLf & _
_Myコントロール情報.メール本文3 & vbCrLf & _Myコントロール情報.メール本文4 & vbCrLf & _
_Myコントロール情報.メール本文5 & vbCrLf & _Myコントロール情報.メール本文6 & vbCrLf & _
_Myコントロール情報.メール本文7 & vbCrLf & _Myコントロール情報.メール本文8 & vbCrLf & _
_Myコントロール情報.メール本文9 & vbCrLf & _Myコントロール情報.メール本文10 & vbCrLf & _
_Myコントロール情報.メール本文11 & vbCrLf & _Myコントロール情報.メール本文12 & vbCrLf & _
_Myコントロール情報.メール本文13
メール本文 = メール本文.Replace("@注文書名", メール件名).Replace("@客先", 仕入先名称).Replace("@件名", 工事名称).Replace("@発行元", _Myコントロール情報.発注帳票.自社情報1 & _Myコントロール情報.発注帳票.自社情報3).Replace("@担当者", 申請者ユーザー名 & "<" & 申請者ユーザーアドレス & ">")
Dim altView As Net.Mail.AlternateView = Net.Mail.AlternateView.CreateAlternateViewFromString(メール本文, enc, System.Net.Mime.MediaTypeNames.Text.Plain)
altView.TransferEncoding = System.Net.Mime.TransferEncoding.SevenBit
mail.AlternateViews.Add(altView)
If _Myコントロール情報.SMTP認証区分 <> 0 Then
'SMTP認証情報を付加する
'ユーザー名とパスワードを設定する
Dim account As String = _Myコントロール情報.アカウント名
Dim passWord As String = _Myコントロール情報.パスワード
smtp.Credentials = New System.Net.NetworkCredential(account, passWord)
End If
'EXCELを添付
Dim basePath As String = _Myコントロール情報.注文書PDF保存フォルダ
'添付ファイル候補1(フルパスを生成し、ファイルが存在すれば添付)
Dim file1 As String = "注文書 " & 注文書番号.TrimEnd & "_" & CStr(_sysDate) & ".pdf"
Dim absolutePath1 As String = System.IO.Path.Combine(basePath, file1)
If System.IO.File.Exists(absolutePath1) Then
Dim attach1 As New System.Net.Mail.Attachment(absolutePath1)
mail.Attachments.Add(attach1)
End If
'添付ファイル候補2(フルパスを生成し、ファイルが存在すれば添付)
Dim file2 As String = "注文請書 " & 注文書番号.TrimEnd & "_" & CStr(_sysDate) & ".pdf"
Dim absolutePath2 As String = System.IO.Path.Combine(basePath, file2) '添付ファイル候補2 フルパス
If System.IO.File.Exists(absolutePath2) Then
Dim attach2 As New System.Net.Mail.Attachment(absolutePath2)
mail.Attachments.Add(attach2)
End If
'添付ファイル候補3(フルパスを生成し、ファイルが存在すれば添付)
Dim file3 As String = "完了報告書等 " & 注文書番号.TrimEnd & "_" & CStr(_sysDate) & ".pdf"
Dim absolutePath3 As String = System.IO.Path.Combine(basePath, file3) '添付ファイル候補3 フルパス
If System.IO.File.Exists(absolutePath3) Then
Dim attach3 As New System.Net.Mail.Attachment(absolutePath3)
mail.Attachments.Add(attach3)
End If
'添付ファイル候補4(バイナリが空でなく かつ 添付ファイルパスが設定済であれば添付)
If バイナリ IsNot Nothing AndAlso 添付ファイルパス.TrimEnd <> "" Then
ms = New MemoryStream(バイナリ)
Dim stFileName As String = System.IO.Path.GetFileName(添付ファイルパス)
Dim attach4 As New System.Net.Mail.Attachment(ms, stFileName)
mail.Attachments.Add(attach4)
End If
smtp.EnableSsl = False
smtp.ServicePoint.MaxIdleTime = 1
'SMTPサーバーを指定する
smtp.Host = _Myコントロール情報.SMTPサーバー
'ポート番号を指定する(既定値は25)
smtp.Port = CInt(_Myコントロール情報.ポート番号)
smtp.Send(mail)
Catch ex As Exception
If Me.システム環境情報.プログラム情報.枝番 = 起動モード型.手動実行 Then
If 送信先アドレス = "" Then
MessageBox.Show("送信先アドレス未指定のため、メール送信できない仕入先がありました。", Me.システム環境情報.プログラム情報.名称, MessageBoxButtons.OK, MessageBoxIcon.Exclamation)
Else
MessageBox.Show("メール送信中にエラーが発生しました。", Me.システム環境情報.プログラム情報.名称, MessageBoxButtons.OK, MessageBoxIcon.Exclamation)
End If
End If
sendflag = False
Finally
mail.Dispose()
ms.Dispose()
End Try
Return sendflag
End Function
Private Function myEncode(ByVal str As String, ByVal enc As System.Text.Encoding) As String
Dim base64str As String = Convert.ToBase64String(enc.GetBytes(str))
Return String.Format("=?{0}?B?{1}?=", enc.BodyName, base64str)
End Function
コメント
最新を表示する
Sell Nick Twitter cổ 2009>2015 - Nick Gmail Mới Chất lượng tốt : https://CloneVia.com
Click
https://CloneVia.com
Appreciate it
Tags:
mua nick twitter cổ
mua bán email twitter
bán email twitter
đăng ký email twitter
NG表示方式
NGID一覧