dポイントプレゼントキャンペーン実施中!

ASPでBASP21を使用してメールを送信しようとしたのですが、SMTPサーバーが停止していたため処理結果が取得できませんでした。
このような場合、何か良い対策はありませんでしょうか。
ご教示の程よろしくお願いいたします。
以下にソースの概要を記載いたします。

Dim objBasp21
Dim strMailSendErr

Set objBasp21 = CreateObject("Basp21")

strMailSendErr = objBasp21.SendMail(パラメータ)
'↑↑↑ メールサーバが停止している場合ここで処理が止まってしまう?

If strMailSendErr <> "" Then
 'エラーの場合の処理
End If

A 回答 (1件)

メールサーバが止まっていてもエラーが返されるだけだと思いますけど・・・?


Time Out とか Not Connect とかが返ってきたように記憶しています。
既存のメーラで送っても同じようなエラーが返されますか?
失礼ながら『パラメータ』の所で何か問題発生かも。
『止まる』事は無かったように記憶しています。
『メールサーバが停止している』事は確認されましたか?
以下、BASP21のヘルプとほとんど一緒ですが (^^ゞ

Sub SendMailQ()
'http://www.hi-ho.ne.jp/babaq/
  Dim objBASP21   As Object   'BASP21
  Dim strMessage   As String   '実行メッセージ
  Dim strSvName   As String   'SMTPサーバ
  Dim strMailTo   As String   '宛先メールID
  Dim strMailFrom   As String   '送信元ユーザID
  Dim strSubj     As String   '表題
  Dim strBody     As String   '本文
  Dim strFiles    As String   '添付ファイル
  
  On Error GoTo AcErr
  '----( オブジェクト生成 )---------------------------------------
  Set objBASP21 = CreateObject("basp21")
  
  '----( パラメータ設定 )-----------------------------------------
  strSvName = "mail.goo.ne.jp"                'SMTPサーバ名
  strMailTo = "あんたへ<*********@mail.goo.ne.jp>"      '宛先メールID
  strMailFrom = "私" & "<*********@mail.goo.ne.jp>"      '送信元ユーザID
  strSubj = "テスト発信"                 '表題
  strBody = "送ってみました" & vbCrLf & "届いた"     '本文
  strFiles = "c:\windows\clock.avi" & vbTab & "c:\windows\winnt.bmp" '添付ファイル
    
    strMessage = objBASP21.SendMail _
        (strSvName, strMailTo, strMailFrom, strSubj, strBody, strFiles)
  
  '----( エラー判断 )-----------------------------------------------
  If strMessage <> "" Then
    MsgBox strMessage           'メッセージが表示される場合はエラー
  Else
    MsgBox "終了"
  End If
  
  Set objBASP21 = Nothing
Exit Sub

AcErr:
  Select Case err.Number
    Case Is = 429
      MsgBox "BASP21がインストールされてないかも"
    Case Else
      MsgBox "ErrorNo= " & err.Number _
        & vbCrLf & err.Description
  End Select
  Set objBASP21 = Nothing

End Sub

@酔なのでごめん・・・
WinXPpro or 2000 & Access2002 or 2000 と仮定しています。
    • good
    • 0
この回答へのお礼

返信が遅くなりまして申し訳ございません。

エラー判断のところで適切な処理ができていませんでした。
strMailSendErrにはエラー内容が返されていることを確認いたしました。
私の初歩的なミスです。
お手数をお掛けして申し訳ございません。
ご親切なご回答ありがとうございました。

お礼日時:2007/03/09 09:25

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!