Отправка электронной почты из MSAccess с помощью VBA

Отправка электронной почты из MSAccess с помощью VBA

В настоящее время я использую CDO для отправки электронных писем из Access с VBA по протоколу SMTP, и все работает отлично.

Моя проблема в том, что когда я использую SMTP, я не вижу отправленных писем в отправленных элементах почтового ящика, который я использую. Мне это нужно, чтобы я мог доказать получателю, что письмо действительно было отправлено. Есть ли у кого-нибудь идеи, как это исправить? Любое решение в VB.NET, C#, VBScriptили VBA(как указано выше) будет приветствоваться. Ниже представлен мой скрипт в VBA.

Const cdoSendUsingPickup = 1
Const cdoSendUsingPort = 2 'Must use this to use Delivery Notification
Const cdoAnonymous = 0
Const cdoBasic = 1 ' clear text
Const cdoNTLM = 2 'NTLM
'Delivery Status Notifications
Const cdoDSNDefault = 0 'None
Const cdoDSNNever = 1 'None
Const cdoDSNFailure = 2 'Failure
Const cdoDSNSuccess = 4 'Success
Const cdoDSNDelay = 8 'Delay
Const cdoDSNSuccessFailOrDelay = 14 'Success, failure or delay

Set objmsg = CreateObject("CDO.Message")
Set objConf = CreateObject("CDO.Configuration")

Set objFlds = objConf.Fields
With objFlds

  ''http://schemas.microsoft.com/cdo/configuration/ the .Items must pe prefixed with this

  .Item("sendusing'") = cdoSendUsingPort
  .Item("smtpserver'") = "1.1.1.1"
  .Item("smtpauthenticate") = cdoBasic
  .Item("sendusername") = Username
  .Item("sendpassword") = Password
  .Item("smtpserverport") = 25
.Update
End With

strbody = "Message here"

With objmsg
  Set .Configuration = objConf
  .To = "[email protected]"
  .From = "[email protected]"
  .Subject = "EmailSubject"
  .HTMLBody = strBody
  .AddAttachment myfile
  .Fields("urn:schemas:mailheader:disposition-notification-to") = "[email protected]"
  .DSNOptions = cdoDSNSuccessFailOrDelay
  .Fields.Update
  .Send
  If Err.Number <> 0 Then
    Debug.Print Err.Description
  End If

Связанный контент