質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

ただいまの
回答率

90.33%

  • VBScript

    240questions

    VBScript(Visual Basic Scripting Edition)はMicrosftが開発したスクリプト言語であり、Visual Basicのサブセットです。

Win7→Win10になったら VB Script でメールが送れなくなりました。

受付中

回答 2

投稿

  • 評価
  • クリップ 0
  • VIEW 926

下記、プログラムで
windows7 では home版でもpro版でも 正しくメール送信されていたのですが、
windows10 pro にしたところ動作せず、エラーが出るようになりました。
5月下旬ころまでは動作していたのですが、PCを変更して7月21日に
動作確認したら動作しなくなっておりました

OSのバージョン違いによるものなのか?
PCを変えたために、PC側に何かインストールや設定変更しないと
動作しないのか?
gmailの仕様が変更になったのか?

動かなくなった原因が不明で困っています

どなたか原因や解決策がわかる方、コメントいただけたら幸いです。

Set objMail = CreateObject("CDO.Message")

objMail.From = "testaddress@gmail.com"
objMail.To = "tomail@gmail.com"
objMail.Subject = "■送信テスト■"
objMail.TextBody = "テスト送信です" & vbCrLf & "確認お願いします" & vbCrLf & " " & vbCrLf & " " & vbCrLf & " " & "送信日時:" & Now
objMail.AddAttachment "C:\Users\user\Desktop\xxx\添付ファイル.zip"


strConfigurationField ="http://schemas.microsoft.com/cdo/configuration/"
 With objMail.Configuration.Fields
    .Item(strConfigurationField & "sendusing") = 2
    .Item(strConfigurationField & "smtpserver") = "smtp.gmail.com"
    .Item(strConfigurationField & "smtpserverport") = 465
    .Item(strConfigurationField & "smtpusessl") = true
    .Item(strConfigurationField & "smtpauthenticate") = 1
    .Item(strConfigurationField & "sendusername") = "testaddress@gmail.com"
    .Item(strConfigurationField & "sendpassword") = "testpasword"
    .Item(strConfigurationField & "smtpconnectiontimeout") = 60
    .Update
end With

objMail.Send

Set objMail = Nothing
  • 気になる質問をクリップする

    クリップした質問は、後からいつでもマイページで確認できます。

    またクリップした質問に回答があった際、通知やメールを受け取ることができます。

    クリップを取り消します

  • 良い質問の評価を上げる

    以下のような質問は評価を上げましょう

    • 質問内容が明確
    • 自分も答えを知りたい
    • 質問者以外のユーザにも役立つ

    評価が高い質問は、TOPページの「注目」タブのフィードに表示されやすくなります。

    質問の評価を上げたことを取り消します

  • 評価を下げられる数の上限に達しました

    評価を下げることができません

    • 1日5回まで評価を下げられます
    • 1日に1ユーザに対して2回まで評価を下げられます

    質問の評価を下げる

    teratailでは下記のような質問を「具体的に困っていることがない質問」、「サイトポリシーに違反する質問」と定義し、推奨していません。

    • プログラミングに関係のない質問
    • やってほしいことだけを記載した丸投げの質問
    • 問題・課題が含まれていない質問
    • 意図的に内容が抹消された質問
    • 広告と受け取られるような投稿

    評価が下がると、TOPページの「アクティブ」「注目」タブのフィードに表示されにくくなります。

    質問の評価を下げたことを取り消します

    この機能は開放されていません

    評価を下げる条件を満たしてません

    評価を下げる理由を選択してください

    詳細な説明はこちら

    上記に当てはまらず、質問内容が明確になっていない質問には「情報の追加・修正依頼」機能からコメントをしてください。

    質問の評価を下げる機能の利用条件

    この機能を利用するためには、以下の事項を行う必要があります。

質問への追記・修正、ベストアンサー選択の依頼

  • otn

    2018/07/22 06:04

    「動作しない」とは?実行した際の現象は何ですか?

    キャンセル

回答 2

0

VB ScriptをIE11で使用していませんか?
まずIEのバージョンを確認してみてください。

またWin10 proのビルドをマイコンピューターのプロパティで確認も。

条件によって使用できないので。

参考サイト
さよなら、VBScript - 阿久津良和のWindows Weekly Report

投稿

  • 回答の評価を上げる

    以下のような回答は評価を上げましょう

    • 正しい回答
    • わかりやすい回答
    • ためになる回答

    評価が高い回答ほどページの上位に表示されます。

  • 回答の評価を下げる

    下記のような回答は推奨されていません。

    • 間違っている回答
    • 質問の回答になっていない投稿
    • スパムや攻撃的な表現を用いた投稿

    評価を下げる際はその理由を明確に伝え、適切な回答に修正してもらいましょう。

0

未解決です

Windows 10 Pro 64bit 上の
Microsoft (R) Windows Script Host Version 5.812 (.vbsファイルにしてダブルクリック)
およびVBA 7.1 64bit(MS Office 64bitのVBA)
で試してみました。

当初は記載のコードでは以下のエラーが発生していました(VBAで実行した場合のエラーメッセージ)。

ErrorMessage
-2147220975
メッセージを SMTP サーバーに送信できませんでした。転送エラー コードは 0x80040217 です。サーバーからの応答は次のとおりです。not available

しかし、何度か試しているうちにあるタイミングから成功するようになってしまいました。
そのため何が原因だったのか特定できていません。

念のため、私が成功した際のコードを記載しておきます。

'https://teratail.com/questions/137189
Option Explicit

Const FromAddress = "testaddress@gmail.com"
Const ToAddress   = "tomail@gmail.com"
Const AttachPath  = "C:\Users\user\Desktop\xxx\添付ファイル.zip"
Const PassWord    = "testpasword"


Dim objMail 'As CDO.Message
Set objMail = CreateObject("CDO.Message")

objMail.From = FromAddress
objMail.To = ToAddress
objMail.Subject = "■送信テスト■"
objMail.TextBody = "テスト送信です" & vbCrLf & "確認お願いします" & vbCrLf & " " & vbCrLf & " " & vbCrLf & " " & "送信日時:" & Now
objMail.AddAttachment AttachPath


'IMAP を使用して他のメール クライアントで Gmail をチェックする - Gmail ヘルプ
'https://support.google.com/mail/answer/7126229

'http://www.atmarkit.co.jp/ait/articles/0405/22/news017.html
Const sendUsingLocalSmtp = 1, sendUsingNetworkSmtp = 2, sendUsingExchange = 3
'serialty.blog117.fc2.com/blog-entry-10.html
Const smtpAuthTypeBasic = 1, smtpAuthTypeNTLM = 2

'https://support.google.com/mail/answer/7126229
Const gmailSmptSever = "smtp.gmail.com"
Const gmailSmtpPortSSL = 465, gmailSmtpPortTLS = 587


Const strConfigurationField = "http://schemas.microsoft.com/cdo/configuration/"
With objMail.Configuration.Fields
    .Item(strConfigurationField & "sendusing") = sendUsingNetworkSmtp
    .Item(strConfigurationField & "smtpserver") = gmailSmptSever
    .Item(strConfigurationField & "smtpserverport") = gmailSmtpPortSSL
    .Item(strConfigurationField & "smtpusessl") = True
    .Item(strConfigurationField & "smtpauthenticate") = smtpAuthTypeBasic
    .Item(strConfigurationField & "sendusername") = FromAddress
    .Item(strConfigurationField & "sendpassword") = PassWord
    .Item(strConfigurationField & "smtpconnectiontimeout") = 60
    .Update
End With 'objMail.Configuration.Fields

Call objMail.Send

投稿

  • 回答の評価を上げる

    以下のような回答は評価を上げましょう

    • 正しい回答
    • わかりやすい回答
    • ためになる回答

    評価が高い回答ほどページの上位に表示されます。

  • 回答の評価を下げる

    下記のような回答は推奨されていません。

    • 間違っている回答
    • 質問の回答になっていない投稿
    • スパムや攻撃的な表現を用いた投稿

    評価を下げる際はその理由を明確に伝え、適切な回答に修正してもらいましょう。

  • 2018/07/22 11:16

    まずエラーの内容から検索してみました。類似の問題が https://stackoverflow.com/questions/23224631/vbscript-error-80040211-when-sending-emails
    で見つかり、内容としてSMTP接続に失敗していて、まずはtelnetでsmtpに接続できるかを試してみる、もしそれで接続出来たらコードの問題ではなくSMTPの設定側ではとの内容です。SMTPサーバーの設定を最初に確認し、問題がないかを調べましょう。

    キャンセル

15分調べてもわからないことは、teratailで質問しよう!

  • ただいまの回答率 90.33%
  • 質問をまとめることで、思考を整理して素早く解決
  • テンプレート機能で、簡単に質問をまとめられる

同じタグがついた質問を見る

  • VBScript

    240questions

    VBScript(Visual Basic Scripting Edition)はMicrosftが開発したスクリプト言語であり、Visual Basicのサブセットです。