特定のメール アカウントにメールを送信する VB.NET アプリを作成しようとしています。そのアカウントのドメインは gmail、hotmail などではありません。それは私が働いている会社のものです。私の問題は、Outlook が「プログラムがあなたに代わって電子メールを送信しようとしています...」という警告を表示し、クリックしてメールを送信する必要があることです (これは、現在の PC ユーザー アカウントを使用してメールを送信しているためです)。 . 自動化する必要があります(クリックは不要です)
このようなことをするのはこれが初めてなので、送信者アカウントなしでメールを送信する方法があるかどうか尋ねなければなりませんか? そのため、メールを送信する許可を求める必要も、コードにパスワードを書き込む必要もありません。または、少なくとも、.exe が実行される会社内の任意の PC に対して、.exe を「信頼できる」ようにする方法が不可能な場合。
そのメッセージをスキップするには、コードのどの行を変更する必要がありますか?
Dim OutApp As Object
Dim OutMail As Object
Dim xlApp As Excel.Application
Dim xlWorkBook As Excel.Workbook
Dim xlWorkSheet As Excel.Worksheet
Dim date As String
Dim proc As System.Diagnostics.Process
For Each proc In System.Diagnostics.Process.GetProcessesByName("EXCEL")
If proc.MainWindowTitle.Trim.Length = 0 Then
proc.Kill()
End If
Next
xlApp = New Excel.ApplicationClass
xlWorkBook = xlApp.Workbooks.Open("\\file.xlsm")
xlWorkSheet = xlWorkBook.Worksheets("sheet")
Try
xlWorkSheet.Range("E4").Select()
xlWorkSheet.Range("E4").Activate()
date = xlApp.ActiveCell.Value
Do While Convert.ToString(xlApp.ActiveCell.Value) <> ""
'The mail part start here
If (DateTime.Today - CDate(date)).Days = 180 Then
OutApp = CreateObject("Outlook.Application")
OutMail = OutApp.CreateItem(0)
'On Error Resume Next
With OutMail
.To = "xxxx@xxxx.com"
.CC = ""
.BCC = ""
.Subject = "subject"
.Body = "text"
.Send()
End With
' On Error GoTo 0
OutMail = Nothing
OutApp = Nothing
End If
xlApp.ActiveCell.Offset(1, 0).Select()
date = xlApp.ActiveCell.Value
Loop
Catch ex As Exception
MsgBox(ex.ToString())
End Try
これはコンソール アプリなので、ここにはありませんweb.config
。助けてください。