2016-04-06 150 views
0

CDO.Messageを使用してWebサーバーから電子メールを送信しようとしています。 内部のメールアドレスに送信するとすべて正常に動作しますが、外部のメールアドレスに送信すると失敗します。CDO.Messageを使用した電子メールの送信 - 外部アドレスへの送信時に失敗する

error '8004020f' 
sendmail.asp, line 46 

ライン46は、私は認証でそれを試してみたmyMail.Send

である(現在はコメントアウト)、なしでそれを試みたが、まだ同じエラーを取得します。 ここで私が見つけた様々な提案を試しましたが、これまでのところ何もできませんでした。

私はそれが認証の問題であると仮定していますが、認証を使用しても失敗しました。

"送信元"アドレスは、メールサーバー上の有効なライブアカウントです。使用されたユーザー/パスの設定は「送信元」アドレス用でした。

これを特定するための指針はありますか?

Set myMail=CreateObject("CDO.Message") 
myMail.Subject="subject_goes_here" 
myMail.From="from_email_address" 
myMail.To="to_email_address" 
myMail.TextBody="body goes here" 

myMail.Configuration.Fields.Item _ 
("http://schemas.microsoft.com/cdo/configuration/sendusing")=2 
myMail.Configuration.Fields.Item _ 
("http://schemas.microsoft.com/cdo/configuration/smtpserver")="mail_server_address" 
myMail.Configuration.Fields.Item _ 
("http://schemas.microsoft.com/cdo/configuration/smtpserverport")=25 
'myMail.Configuration.Fields.Item _ 
'("http://schemas.microsoft.com/cdo/configuration/sendusername") = "username" 
'myMail.Configuration.Fields.Item _ 
'("http://schemas.microsoft.com/cdo/configuration/sendpassword") = "password" 


myMail.Configuration.Fields.Update 
myMail.Send 
set myMail=nothing 

WebサーバーはWindows Server 2003 R2上のIIS6です。 メールサーバーはExchangeです。

update - Gmailを使用してメールを送信しようとしましたが、別のエラーが発生しました。

CDO.Message.1 error '80040213' 
The transport failed to connect to the server. 
sendemail.asp, line 48 

と私が使用しているコードは、よく私は最終的にこの問題が解決しまった

myMail.Configuration.Fields.Item ("http://schemas.microsoft.com/cdo/configuration/smtpserver")="smtp.gmail.com" 
myMail.Configuration.Fields.Item ("http://schemas.microsoft.com/cdo/configuration/smtpserverport")=465 
myMail.Configuration.Fields.Item ("http://schemas.microsoft.com/cdo/configuration/sendusing")=2 
myMail.Configuration.Fields.Item ("http://schemas.microsoft.com/cdo/configuration/smtpauthenticate") = 1 
myMail.Configuration.Fields.Item ("http://schemas.microsoft.com/cdo/configuration/smtpusessl") = False 
myMail.Configuration.Fields.Item ("http://schemas.microsoft.com/cdo/configuration/smtpconnectiontimeout") = 20 
myMail.Configuration.Fields.Item ("http://schemas.microsoft.com/cdo/configuration/sendusername") = "gmailusername" 
myMail.Configuration.Fields.Item ("http://schemas.microsoft.com/cdo/configuration/sendpassword") = "password" 
+1

認証を使用している場合、これを指定するには別の設定行が必要です。たとえば、 'myMail.Configuration.Fields.Item(" http://schemas.microsoft.com/cdo/configuration/smtpauthenticate ")= 1'基本認証を使用している場合このリンクは役に立つかもしれませんhttp://www.powerasp.net/content/new/sending_email_cdosys.asp – John

+0

私はそれを試みましたが、それは残念ながら同じエラーを生成します。 私はSMTPのために使ってみたgmailアカウントも持っていますが、私はそれを動作させることができません。 – chenks

+0

Gmailの試行を含めて元の質問を更新しました。これも失敗します。 – chenks

答えて

0

です。 しかし、認証済みのSMTPリレーを許可した別のメールプロバイダを使用しました。

関連する問題