VB6アプリケーションでOffice365SMTPサーバーを設定する方法を見つけるために日を探しています。私のコードは、ポート465やその他のメールサーバーで正しく機能しています。ただし、ポート587およびsmtp.office365.comでは機能しません。
VB6で587経由でTLSを使用できる方法はありますか?
ありがとう
このコードは、数日前にISPを切り替えたとき(またはサーバー側で偶然に何かが変更されたとき)まで機能していました。ポート587を指定すると、トランスポートエラーが発生し、VBAでその解決策が見つかりません。これで問題が解決するかどうか、および587を使用する方法を見つけた場合は、お知らせください(ポート25も機能しない、同じエラーです)。
Public Function SMTPSend(vSendTo, vsubject As Variant, vmessage As Variant)
'This works
Set emailObj = CreateObject("CDO.Message")
emailObj.From = "[email protected]"
emailObj.To = vSendTo
emailObj.Subject = vsubject
emailObj.TextBody = vmessage
'emailObj.AddAttachment "c:\windows\win.ini"
Set emailConfig = emailObj.configuration
emailConfig.Fields("http://schemas.Microsoft.com/cdo/configuration/sendusing") = 2
emailConfig.Fields("http://schemas.Microsoft.com/cdo/configuration/smtpauthenticate") = 1
emailConfig.Fields("http://schemas.Microsoft.com/cdo/configuration/smtpserver") = "smtp.office365.com"
'Must exclude port if specifying SSL
'emailConfig.Fields("http://schemas.Microsoft.com/cdo/configuration/smtpserverport") = 587
emailConfig.Fields("http://schemas.Microsoft.com/cdo/configuration/smtpusessl") = True
emailConfig.Fields("http://schemas.Microsoft.com/cdo/configuration/sendusername") = "[email protected]"
emailConfig.Fields("http://schemas.Microsoft.com/cdo/configuration/sendpassword") = "mypassword"
emailConfig.Fields.Update
emailObj.Send
If Err.Number = 0 Then SMTPSend = True Else SMTPSend = False
End Function