0

特定のメール アカウントにメールを送信する 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。助けてください。

4

2 に答える 2

0

オプションは次のとおり
です。 1. 最新のウイルス対策アプリをインストールする
2. 外部アプリの代わりに COM アドインを作成する
3. 拡張 MAPI を使用する (C++ または Delphi のみ)
4.償還(どの言語からでもアクセス可能)

于 2013-10-17T16:37:14.780 に答える