- PR -

Windows server 2003 で自動送信メールが送れない(ASP VBS)

1
投稿者投稿内容
himahima_san
会議室デビュー日: 2005/04/03
投稿数: 12
投稿日時: 2005-04-05 13:42
お世話になります。
ASP、VBSで開発をしています。
WindowsServer2003でCDOSYSを利用したメール送信ができません。


問題のコードは
-----------------------------------------------------------------
Option Explicit
On Error Resume Next

'変数宣言
Dim objNewMail
Dim strFrom
Dim strTo
Dim strCc
Dim strSubject
Dim strBody

'メールオブジェクトの初期化
Set objNewMail = Server.CreateObject("CDO.Message")

'宛先編集
strFrom = "info@XXXXXX.com"
strTo = "user@*****.net"
strSubject = "申込"
strBody = "テスト"
'メール送信設定
objNewMail.from = strFrom
objNewMail.To = strTo
'objNewMail.Cc = strFrom
objNewMail.Subject = strSubject
objNewMail.textBody = strBody
objNewMail.Fields("http://schemas.microsoft.com/cdo/configuration/sendusername") = "info@XXXX
.com"
objNewMail.Fields("http://schemas.microsoft.com/cdo/configuration/sendpassword") = "password"
objNewMail.Fields("http://schemas.microsoft.com/cdo/configuration/smtpserver") = "mail.XXXX.com"
objNewMail.Fields("http://schemas.microsoft.com/cdo/configuration/smtpserverport") = 25
objNewMail.Fields("http://schemas.microsoft.com/cdo/configuration/sendusing") = 1

'メール送信処理
objNewMail.Send

----------------------------------------------------------------

こんなコードです。
実行結果は、エラーにもなりませんが、メールも送れないのです。

他にもいろいろ試しましたが、エラーになったり、送れなかったりです。
basp21も試しました。
Windows2000serverでは正常に動いているものも、2003では動きませんでした。
プロバイダに聞くと、
「basp21は使えるが、複雑な設定が必要なので、うちでの使用は△です」との回答後、
どこがどう△なのかを聞いたのですが、なしのつぶてでまったく回答してくれません。

ただ、メールに関しては
「SMTPはセットアップしておりますが、ご利用中のインターネットプロバイダーのSMTPをご利用下さい。プロバイダーの中には、レンタルサーバー用にSMTPの利用を許可していない場合があります。その際はご相談ください。
もしくはプロバイダーがSMTPの利用を禁止している場合には、POP3と同じアドレスにし、メールソフトのSMTP認証をonにしてください。(mail.ドメイン名)」
と聞いています。

そこで自分では認証をコードに加えているつもりなのですが、認証されていないのでしょうか?

どなたか詳しい方がいらっしゃいましたら教えてください。
やまけん
会議室デビュー日: 2004/05/25
投稿数: 17
お住まい・勤務地: 東京
投稿日時: 2005-05-09 01:13
ふと気になったのですが、実際のコードでは認証方式は指定されていますか。
kaz
ぬし
会議室デビュー日: 2003/11/06
投稿数: 5403
投稿日時: 2005-05-09 01:22
こんばんわ.
引用:

himahima_sanさんの書き込み (2005-04-05 13:42) より:

ただ、メールに関しては
「SMTPはセットアップしておりますが、ご利用中のインターネットプロバイダーのSMTPをご利用下さい。プロバイダーの中には、レンタルサーバー用にSMTPの利用を許可していない場合があります。その際はご相談ください。
もしくはプロバイダーがSMTPの利用を禁止している場合には、POP3と同じアドレスにし、メールソフトのSMTP認証をonにしてください。(mail.ドメイン名)」
と聞いています。


詳しくは無いので code の内容についてはなんとも.
それ以前に,その Windows Server の SMTP 経由で e_mail は送出できますか?
そこで躓いていたらそもそも動かなくて当然ですが...
もっと遡って,SMTP Service は動いています?

まず,telnet などで「e_mail が普通に送出できる」状態であることを
確認するべきかと.
「メールに関しては」云々の内容はあまり意味が無いように感じられます.
たしかに SMTP 認証は機能として存在しますけど,
一般的な ISP で使ってますかね?
VIM
ベテラン
会議室デビュー日: 2003/11/14
投稿数: 76
投稿日時: 2005-05-09 12:52
>実行結果は、エラーにもなりませんが、

コード:
On Error Resume Next


これをREMれば、エラーが出てきそうですが。

MJ
会議室デビュー日: 2005/07/24
投稿数: 1
投稿日時: 2005-07-24 03:51
objNewMail.Fieldsを更新したら、

objNewMail.Fields.Update()

が必要ですよ。
himahima_san
会議室デビュー日: 2005/04/03
投稿数: 12
投稿日時: 2005-08-05 18:00
お世話になっています。
すっかりあきらめて、会議室を見なくなっていました。
つい先日のぞいたら、いろいろな方が回答してくださっていて驚きました。
大分時間が経ってしまったのですが、よかったらまたご回答ください。

あれから依然とまったままです。

>On Error Resume Next
>これをREMれば、エラーが出てきそうですが。

これをやってみたところ、まったくばかばかしい間違いがありましたので修正し、
現在はエラーは出ていません。
(ただし、メールも送られません)


>objNewMail.Fieldsを更新したら、

>objNewMail.Fields.Update()

>が必要ですよ。

これもやってみました。
やはり、変わらず送ることができません。

------------------------------------------------------------------------
で、少しだけ進展があります。
ホスティングサービスに、自動送信メールがあったので、設定してみました。
その自動送信メールから来たメールのソースは以下のとおりです。

Return-path: <nattoku@la110.XXXX.com>
Envelope-to: yoko@XXX.net
Delivery-date: Fri, 05 Aug 2005 16:55:35 +0900
Received: from [127.0.0.1] (helo=localhost)
by server02.joeswebhosting.net with esmtp (Exim 4.43)
id 1E0x3H-0007xX-0I
for yoko@XXX.net; Fri, 05 Aug 2005 16:55:35 +0900
Received: from server02.joeswebhosting.net ([127.0.0.1])
by localhost (server02.joeswebhosting.net [127.0.0.1]) (jwh-anti-virus-system, port 10024)
with ESMTP id 29716-07 for <yoko@xxx.net>;
Fri, 5 Aug 2005 16:55:34 +0900 (JST)
Received: from [207.44.164.xx] (helo=la110.xxxx.com)
by server02.joeswebhosting.net with esmtps (TLSv1:DES-CBC3-SHA:168)
(Exim 4.43)
id 1E0x3G-0007xH-98
for yoko@XXX.net; Fri, 05 Aug 2005 16:55:34 +0900
Received: from nattoku by la110.xxxx.com with local (Exim 4.43)
id 1E0x3I-0002VA-Mm
for yoko@xxx.net; Fri, 05 Aug 2005 16:55:36 +0900
To: "Yoko Aoki" <yoko@XXX.net>
X-Autorespond: a
X-Loop: "Yoko " <yoko@XXX.net>
From: "ほげほげ" <info@XXX.com>
Content-type: text/plain; charset=shift_jis
Subject: メッセージタイトル
Message-Id: <E1E0x3I-0002VA-Mm@la110.6821.com>
Date: Fri, 05 Aug 2005 16:55:36 +0900
X-AntiAbuse: This header was added to track abuse, please include it with any abuse report
X-AntiAbuse: Primary Hostname - la110.xxxx.com
X-AntiAbuse: Original Domain - xxxx.net
X-AntiAbuse: Originator/Caller UID/GID - [32145 647] / [47 12]
X-AntiAbuse: Sender Address Domain - la110.xxxx.com
X-Source:
X-Source-Args:
X-Source-Dir:
X-Virus-Scanned: by-JWH-Anti-Virus-System-at-mmoon.net
X-Virus-Alert: BAD HEADER Non-encoded 8-bit data (char 82 hex) in message header 'From'
From: "\202\306\202\255\202\265\202\334\203u\203\211\203\223\203h...
^

メールメッセージ

-------------------------------------------------------------------------

これを元に、コードを変更してみました。

現在のコードは、以下のとおりです。

<%@LANGUAGE="VBSCRIPT" CODEPAGE="932"%>
<%
Option Explicit
'On Error Resume Next

'変数宣言
Dim objNewMail
Dim strFrom
Dim strTo
Dim strCc
Dim strSubject
Dim strBody

'メールオブジェクトの初期化
Set objNewMail = Server.CreateObject("CDO.Message")

'宛先編集
strFrom = "nattoku@XXX.com"
strTo = "yoko@XXX.net"
strSubject = "申込"
strBody = "テスト"
'メール送信設定
objNewMail.from = strFrom
objNewMail.To = strTo
'objNewMail.Cc = strFrom
objNewMail.Subject = strSubject
objNewMail.textBody = strBody
objNewMail.Fields("http://schemas.microsoft.com/cdo/configuration/sendusername") = "nattoku"
objNewMail.Fields("http://schemas.microsoft.com/cdo/configuration/sendpassword") = "XXXXXX"
objNewMail.Fields("http://schemas.microsoft.com/cdo/configuration/smtpserver") = "207.44.164.XX"
objNewMail.Fields("http://schemas.microsoft.com/cdo/configuration/smtpserverport") = 25
objNewMail.Fields("http://schemas.microsoft.com/cdo/configuration/sendusing") = 1
objNewMail.Fields.Update()
'メール送信処理
objNewMail.Send
%>


でもやっぱりメールは送信できません。
このメールアドレスをIEのアカウント登録して、メールの送受信をしてみると、
きちんと送受信両方ともできますので、
SMTPサーバーや、ユーザー名や、パスワードに間違いはないと思います。
telnetのやり方はわからなかったのでやっていません。

どなたかお分かりの方がいらっしゃいましたら、教えてください。
よろしくお願いします。

himahima_san
会議室デビュー日: 2005/04/03
投稿数: 12
投稿日時: 2005-08-07 15:25
お騒がせいたしましたが、ようやくメールを送信することができるようになりました。
結局、問題のサーバーではSMTP経由でのメール送信はできませんでした。
そこで、他のサーバーのSMTPを利用してメールを送信することができました。

やはり、
>SMTPはセットアップしておりますが、ご利用中のインターネットプロバイダーのSMTPをご利用下さい。プロバイダーの中には、レンタルサーバー用にSMTPの利用を許可していない場合があります。その際はご相談ください。
もしくはプロバイダーがSMTPの利用を禁止している場合には、POP3と同じアドレスにし、メールソフトのSMTP認証をonにしてください。(mail.ドメイン名)」

はそういう意味だったようです。
それにしても、何度もこのことをメールで質問しているのに、なにひとつ返事をしてくれないこのレンタルサーバーを選んだことが、悔やまれてなりません。
こちらの力量不足ももちろんあるのですが・・・。

レスをつけてくださった方々、ありがとうございました。

とりあえずメールの送信はできるようになったのですが、
相手方のプロバイダによって、メールの送信ができないのですが。
ご存知の方がいらっしゃったら教えてください。

1

スキルアップ/キャリアアップ(JOB@IT)