私はERPシステムから電子メールを送信しようとしています。私はSMTPを使用しようとしましたが、それは内部メールに対してのみ機能し、外部メールはリレーや何かができないと不平を言って失敗します。私はマネージャーがExchangeを適切に構成する方法を知りたくない、またはそれを正しく理解していないと思います。Outlookを自動化するには?
私の上司はOutlookを使用するように指示しました。問題は私のコードはデバッグでうまく動作しますが、Outlookが開いていると失敗します。これはほとんどすべての場合に発生します。私はベンダーのインストールを修正するためにそれを手に入れましたが、それをしたくないです。私たちは直感的なERP 8.5を使用しています。ライブラリファイルを標準フォルダに格納し、カスタムコードまたは継承されたベンダオブジェクト用のカスタムフォルダがあります。
プログラムファイル\ IntuitiveERP.exe プログラムファイル\ IntuitiveERP \カスタム プログラムファイル\ IntuitiveERP \標準
私はCのルートにプログラムディレクトリを置く場合:標準およびカスタムコードの作品をフォルダ組み合わせますOutlookが開いているか閉じているかアップデートで問題が発生する可能性があるため、ベンダーのインストールを変更しないことをお勧めします。
'Fails with Cannot create ActiveX component.
objOutlook = CType(CreateObject("Outlook.Application"), Outlook.Application)
'Fails with Retrieving the COM class factory for component with CLSID {0006F03A-0000-0000-C000-000000000046} failed due to the following error: 80080005.
objOutlook = New Outlook.Application
mobjEmail = CType(objOutlook.CreateItem(Outlook.OlItemType.olMailItem), Outlook.MailItem)
With mobjEmail
.CC = strEmployeeEmail
.Subject = String.Format(Constants.RFQ.Email.Subject, strRFQID)
.To = strTo
.Body = Constants.RFQ.Email.Body
.Attachments.Add(String.Format(Constants.RFQ.Output.FullPath, strRFQID))
.Display(True)
End With
Outlookを開いたときにOutlookへの参照を取得する方法はありますか。 代替ソリューションはありますか?
SMTPが失敗した場合、Outlookにはどういう考えがありますか? – Ares
Outlookを使用しないでください。それこそがハックです。その後、あなたのアプリケーションが実行されているどこにでもOutlookをインストールする必要があります。 SMTPを使用して、Exchangeにリレーを設定するように指示します。それはそれです(正直で言うと、あまりにもトリッキーではありません)。 –
@Ares - 不正なソフトウェアによるメールのバウンスを防止するため、セキュリティ上の理由から、SMTPでは明示的なリレーをExchangeで「許可」する必要があるためです。 Outlookは異なる。 ADドメイン設定でExchangeと連携するように設計されており、SMTPは使用しません。 –