人に聞けない痔の悩み、これでスッキリ >>

ご存知の方、宜しくお願いします。

あるプロバイダのメールサーバへBASP21を使用してメールの送信を
行いたいのですが、以下のエラーMSGが表示されて
できません。
「エラー530 Sorry,Please use SMTP-AUTH instead」

outlook Expressだと問題なく送信できます。
outlook Expressの設定は
・送信メールサーバ
このサーバは認証が必要・・・にチェック
 受信メールサーバと同じ設定を使用する
SMTPポートは「587」

BASPでは、
MailServer="xxxx.co.jp:587
mailfrom="user1:pass1"
と設定しています。

詳しい方、宜しくお願いします。

このQ&Aに関連する最新のQ&A

A 回答 (1件)

> 「エラー530 Sorry,Please use SMTP-AUTH instead」



 お使いのプロバイダではメールの送信に SMTP-AUTH (SMTP認証)が必要なようです。(OutlookExpressで「このサーバは認証が必要」にチェックが入っているのは、このSMTP認証を使うという意味です。)

 つまり、BASP21でメールを送信するときも、このSMTP認証を使うように指定してあげなければいけないのです。

下記参考URLのページに

> ●SMTP AUTH を使う 2000.07.20 New!

という項目がありますので、その辺を参考にしていろいろ実験してみてください。

参考URL:http://www.hi-ho.ne.jp/babaq/basp21.html

この回答への補足

回答ありがとうございます。

mailfrom [in] : 送信元メールID。SMTP AUTH(認証)を使う場合、タブで区切って
ユーザ名とパスワードを指定できます。
"ユーザ名:パスワード" & vbTab & "認証方式"
認証方式は、AUTH LOGIN (省略値)と AUTH CRAM-MD5 が使えます。
"user1:pass1"
"user1:pass1" & vbTab & "LOGIN"
"user1:pass1" & vbTab & "CRAM-MD5"
バージョン20010911よりAUTH PLAINサポート。
"user1:pass1" & vbTab & "PLAIN"

上記の通り設定しても同じエラーでした。
詳しい方、お願いします。

補足日時:2007/03/31 14:42
    • good
    • 0
この回答へのお礼

解決しました。ありがとうございました。

お礼日時:2007/03/31 16:44

このQ&Aに関連する人気のQ&A

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

このQ&Aを見た人はこんなQ&Aも見ています

このQ&Aを見た人が検索しているワード

このQ&Aと関連する良く見られている質問

QVBでメールを送る時のSMTP認証対応が分かりません

VBで処理をした最後にメールを送る処理を
BSMTP.DLLを使ってやっていました

近頃 メールサーバーの仕様が変わり SMTP認証が
必要という知らせがありました
そうすると 突然メールが送れなくなり
(実はメールが送れなくなってメールサーバーの仕様が変わったことが分かった)

あわてて色々調べたら 認証の仕方が書いて有ったので
色々試したのですが うまく送れません
コードは以下のようにしています

宣言部分
Private Declare Function SendMail Lib "bsmtp" _
(szServer As String, szTo As String, szFrom As String, _
szSubject As String, szBody As String, szFile As String) As String

コード
Dim ret As String
Dim szServer As String, szTo As String, szFrom As String
Dim szSubject As String, szBody As String, szFile As String

Screen.MousePointer = vbHourglass

szServer = "abc.com" 'SMTPサーバー(ポート番号はしていません なので25)
szTo = b@efg.com '宛先 一件のみ
★問題はこの下の行かと思います
szFrom = "a:password" & vbTab & "LOGIN"
szSubject = ' 件名

以下本文等・・・・・

szFile = "" '添付ファイル無し
ret = SendMail(szServer, szTo, szFrom, szSubject, szBody, szFile)
If Len(ret) <> 0 Then
Screen.MousePointer = vbDefault
MsgBox "処理エラーが発生しました。" & "送信不能" & ret
Exit Sub
Else
Screen.MousePointer = vbDefault
MsgBox "メール送信終了しました。", vbInformation, "送信完了"
End If

★の所でID パスワードはきちんと合ってます
でもこれで実行すると パスワードが違うと返ってきます
また 認証方式も3つとも試しましたが 同じ結果です
bsmtpも最新の物に変えてみました、でもダメでした

そもそも書き方がいけないのかサーバーの仕様にあっていないのかも
分かりません
szFrom = "a:password" & vbTab & "LOGIN"
では a@abc.com から届いたよと言う事が相手に分からないし
書いてみようと思い
szFrom = "a@abc.com" & vbTab & "a:password" & vbTab & "LOGIN"
szFrom = "a@abc.com:password" & vbTab & "LOGIN"
など書いてみましたが ダメでした(認証方式も変えてみた)

ちなみに メーラー(アウトルックエキスプレス)では
ID a とパスワードで、きちんと認証して送信できるので
サーバー自体は問題ないだろうから
記述がおかしいのだろうと思っています

どなたかこのあたりを分かりやすく教えていただければ
助かります。
日常業務で使っていたので 大変困ってます
よろしくお願いします。

VBで処理をした最後にメールを送る処理を
BSMTP.DLLを使ってやっていました

近頃 メールサーバーの仕様が変わり SMTP認証が
必要という知らせがありました
そうすると 突然メールが送れなくなり
(実はメールが送れなくなってメールサーバーの仕様が変わったことが分かった)

あわてて色々調べたら 認証の仕方が書いて有ったので
色々試したのですが うまく送れません
コードは以下のようにしています

宣言部分
Private Declare Function SendMail Lib "bsmtp" _
(szServer As ...続きを読む

Aベストアンサー

szFrom = "a@abc.com" & vbTab & "a:password"
も試してみてください。
( & vbTab & "LOGIN" を省略した形)
AUTH LOGINだとこれでOKかもしれません。

Q[VBA]CDOメッセージ送信エラー

CDOメッセージオブジェクトを使用し、EXCEL2010 VBAよりメール送信を実現したいのですが..
下記コードの .Sendを実行後にエラーメッセージ「[6]オーバーフローしました」が表示されます。
試行錯誤しておりますが..自力では解決できないため、皆様よりご教授賜りたく何卒よろしくお願い
申し上げます。
---------------------------------------------------------------------------------------------------------
Public Sub SendMail()
Dim objCDOMsg As New CDO.Message '/* CDOメッセージオブジェクト */

'// Dim objCDOMsg As Object '/* CDOメッセージオブジェクト */
'// Set objCDOMsg = CreateObject("CDO.Message")

With objCDOMsg
' /* メールサーバ設定 */
With .Configuration.Fields
.Item(CdoConfiguration.cdoSendUsingMethod) = CdoSendUsing.cdoSendUsingPort '/* 外部SMTP指定 */
.Item(CdoConfiguration.cdoSMTPServer) = "111.222.333.44" '/* SMTPサーバ名 */
.Item(CdoConfiguration.cdoSMTPServerPort) = 25 '/* ポート№ */
.Item(CdoConfiguration.cdoSMTPConnectionTimeout) = 60 '/* タイムアウト */
.Item(cdoSMTPAuthenticate) = cdoAnonymous '/* SMTP認証なし */
.Item(CdoConfiguration.cdoLanguageCode) = CdoCharset.cdoShift_JIS '/* 文字セット */
.Update
End With

' /* メール編集 */
.To = "test@aaa-bbb.com" '/* 宛先 */
.CC = "test@aaa-bbb.com" '/* CC */
.From = "test@aaa-bbb.com" '/* 送信者 */
.Subject = "Test mail" '/* 件名 */
.TextBody = "メール本文" '/* メール本文 */
.AddAttachment "C:\Users\term\Desktop\TempFile.txt" '/* 添付ファイル */

' /* メール送信 */
.Send <------------------- このコードをステップ実行後にエラーメッセージ表示
End With

' /* オブジェクト変数解放 */
Set objCDOMsg = Nothing
End Sub
---------------------------------------------------------------------------------------------------------
[実行環境]
・Windows 7 Professional SP1
・EXCEL 2010 (Ver. 14.0.7165.5000)
・Outlook 2010(Ver. 14.0.7165.5000)

[補足]
・Outlook セキュリティセンターの設定
DEP有効、マクロ警告、プログラムアクセス警告
・Outlook アカウント種類
POP/SMTP

以上、宜しくお願いいたします。

CDOメッセージオブジェクトを使用し、EXCEL2010 VBAよりメール送信を実現したいのですが..
下記コードの .Sendを実行後にエラーメッセージ「[6]オーバーフローしました」が表示されます。
試行錯誤しておりますが..自力では解決できないため、皆様よりご教授賜りたく何卒よろしくお願い
申し上げます。
---------------------------------------------------------------------------------------------------------
Public Sub SendMail()
Dim objCDOMsg As New CDO.Message '/* CD...続きを読む

Aベストアンサー

こんにちは。

正直な話、もうCDOを使ったのは古い昔の話なので、このエラーの要因というのは、コードそのものよりも、固有の設定に問題があるように思います。

自分で作ってみました。
ご質問のコードを元に、googleを使って自分自身用に作ってみました。
以下のコードで送られることは確認しましたが、ここ最近、Google は、メールの設定が異様に厳しくなりましたので、Google自体のメール・セキュリテイの設定を下げないとGoogleからは送信されませんが、コード自体は問題なさそうです。

>「転送においてサーバーに接続できませんでした」
このエラーメッセージは、Configuration のミスで発生しました。正しく直したら、通りました。

細かい問題は、相手のメールサーバーとの関係ですから、設定を細かく見ていくしかないと思います。

'//
Const myAddress As String ="********"
Const myPSW As String = "********"

Public Sub SendMail2()
Dim objCDOMsg As CDO.Message ' New CDO.Message '/* CDOメッセージオブジェクト */do.
Set objCDOMsg = New CDO.Message
'// Dim objCDOMsg As Object '/* CDOメッセージオブジェクト */
'// Set objCDOMsg = CreateObject("CDO.Message")
On Error GoTo ErrHandler
With objCDOMsg
  ' /* メールサーバ設定 */
  With .Configuration.Fields
    .Item(CdoConfiguration.cdoSendUserName) = myAddress '/*ユーザー名*/
    .Item(CdoConfiguration.cdoSendPassword) = myPSW  '/*パスワード*/
    .Item(CdoConfiguration.cdoSendUsingMethod) = CdoSendUsing.cdoSendUsingPort '/* 外部SMTP指定 */
    .Item(CdoConfiguration.cdoSMTPConnectionTimeout) = 100 '/* タイムアウト */
    .Item(CdoConfiguration.cdoSMTPServer) = "smtp.gmail.com" ' /* SMTPサーバ名 */
    .Item(CdoConfiguration.cdoSMTPServerPort) = 465 '/* ポート№ */
    .Item(CdoConfiguration.cdoSMTPAuthenticate) = cdoBasic
    .Item(CdoConfiguration.cdoSMTPUseSSL) = True
    .Item(CdoConfiguration.cdoLanguageCode) = CdoCharset.cdoShift_JIS '/* 文字セット */
    .Update
  End With
  
  ' /* メール編集 */
  .To = "xxxxxx@yyyyy.co.jp" '/* 宛先 */
  .From = "******@gmail.com" '/* 送信者 */
  .Subject = "Test mail" '/* 件名 */
  .TextBody = "MainMessage" & vbNewLine & Date & " " & Time & vbNewLine & _
   "This is TesMail" '/* メール本文 */
  '.AddAttachment ThisWorkbook.Path & "\myTest.Txt" ' "C:\Users\term\Desktop\TempFile.txt" '/* 添付ファイル */

  ' /* メール送信 */
  .Send '<------------------- このコードをステップ実行後にエラーメッセージ表示
End With
ErrHandler:
If Err.Number <> 0 Then
   MsgBox Err.Number & " :" & Err.Description
   'Debug.Print Err.Number & " :" & Err.Description
End If
' /* オブジェクト変数解放 */
Set objCDOMsg = Nothing
End Sub

こんにちは。

正直な話、もうCDOを使ったのは古い昔の話なので、このエラーの要因というのは、コードそのものよりも、固有の設定に問題があるように思います。

自分で作ってみました。
ご質問のコードを元に、googleを使って自分自身用に作ってみました。
以下のコードで送られることは確認しましたが、ここ最近、Google は、メールの設定が異様に厳しくなりましたので、Google自体のメール・セキュリテイの設定を下げないとGoogleからは送信されませんが、コード自体は問題なさそうです。

>「転送においてサー...続きを読む

QBASP21でメールが送信できない

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

Dim objBasp21
Dim strMailSendErr

Set objBasp21 = CreateObject("Basp21")

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

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

Aベストアンサー

メールサーバが止まっていてもエラーが返されるだけだと思いますけど・・・?
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 と仮定しています。

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

Sub SendMailQ()
'http://www.hi-ho.ne.jp/babaq/
  Dim objBASP21   As Objec...続きを読む

Qbasp21をWindowsServer2008R2で利用するには。

basp21をWindowsServer2008R2で利用するには。

お世話になります。
32Bit WindowsServer2003環境で利用していたメール送信ンポーネントbasp21を64bit環境で利用できるか調査しています。
32bit環境で利用していたメール送信用のvbsファイルをなんとかそのまま使いたいです。

検索していたら、
64bit版のIIS7.0でBasp21を使う方法 を発見し試しましたが動作しません。
http://d.hatena.ne.jp/windowsserver/20080926/1222407780

行った操作は、以下の通りです。
・basp21を使いたいサイトに対応するアプリケーションプールの「詳細設定」を開きます
・「32ビットアプリケーションの有効化」を[True]にします。

次のアラートが表示されます。
エラー:ActiveXコンポーネントはオブジェクトを作成できません。'basp21'
コード:800A01AD
ソース:Microsoft VBScript 実行時エラー

basp21をWindowsServer2008R2で利用するためにどのような設定が足りないのでしょうか。
どなたかご教授いただけませんでしょうか。
何卒宜しくお願い致します。

basp21をWindowsServer2008R2で利用するには。

お世話になります。
32Bit WindowsServer2003環境で利用していたメール送信ンポーネントbasp21を64bit環境で利用できるか調査しています。
32bit環境で利用していたメール送信用のvbsファイルをなんとかそのまま使いたいです。

検索していたら、
64bit版のIIS7.0でBasp21を使う方法 を発見し試しましたが動作しません。
http://d.hatena.ne.jp/windowsserver/20080926/1222407780

行った操作は、以下の通りです。
・basp21を使いたいサイトに対応するアプリケー...続きを読む

Aベストアンサー

「32ビットアプリケーションの有効化」を[True]にします。

これはあくまで、ASPを利用していた際の設定方法になります。
VBスクリプトであれば、
c:\windows\SysWOW64\wscript.exe VBスクリプトファイル
(場合に応じてwscript.exe を cscript.exeに読み替えてください)

これでBASPを使ったVBスクリプトも動作するはずです。

QVBSでメール送信

VBS初心者です。
以下のサイトを参考に,特定のフォルダにファイルが追加されたら,
指定のメールアドレスに添付して送信するVBSを作成してみました。

http://plaza.rakuten.co.jp/mscrtf/diary/201206260000/

ちなみに記述を少しだけ変えて,
送信したファイルを削除しないようにしています。
しかしこうしてしまうと,「送信フォルダ」にファイルが追加されると,
その新しく追加されたファイルではなく,
前から置いてある別のファイルが送信されてしまいます。
「最新のファイルを添付して送信」することはできないでしょうか?

またファイルを添付してメールを送信することはできるのですが,
なぜか送信受信ともに,まったくおなじメールが2通作成されてしまいます。
(2通同時ではなく1通目が届いて30秒後くらいにもう1通届きます)。

あと,受信側メールアドレスをbbb@hotmail.co.jpにし,
smtpserver:smtp.live.com
smtpserverport:587
とすると
「転送においてサーバーに接続できませんでした」と出てしまいます。
ポート番号を,465や25にしてみましたがだめでした。
どこを直せばいいでしょうか?

以上の解決策をご教授ください!

コードは以下です。

Dim Fs, strPath, Fl, F, NewFile, NewFileFP, OutF
Set Fs = CreateObject("Scripting.FileSystemObject")
strPath = "C:\FileSend\送信フォルダ\"
NewFile = ""
Set Fl = Fs.GetFolder(strPath)
For Each F In Fl.Files
If F.Name > NewFile Then
NewFile = F.Name
End If
Next
NewFileFP = Fl & "\" & NewFile
Dim WshShell, BtnCode
Set WshShell = WScript.CreateObject("WScript.Shell")
Set objShell = CreateObject("Wscript.Shell")
Set oMsg = CreateObject("CDO.Message")
oMsg.From = "ファイル送信元 <aaa@gmail.com>" '送信元
oMsg.To = "bbb@hotmail.co.jp" '送信先

oMsg.Subject = "ファイルの送信test3" '件名
oMsg.TextBody = "ファイルをお送りします。" 'メール本文
oMsg.AddAttachment NewFileFP '添付
oMsg.Configuration.Fields.Item _
("http://schemas.microsoft.com/cdo/configuration/sendusing") = 2
oMsg.Configuration.Fields.Item _
("http://schemas.microsoft.com/cdo/configuration/smtpserver") = "smtp.googlemail.com"
oMsg.Configuration.Fields.Item _
("http://schemas.microsoft.com/cdo/configuration/smtpserverport") = 465
oMsg.Configuration.Fields.Item _
("http://schemas.microsoft.com/cdo/configuration/smtpusessl") = True
oMsg.Configuration.Fields.Item _
("http://schemas.microsoft.com/cdo/configuration/smtpauthenticate") = 1
oMsg.Configuration.Fields.Item _
("http://schemas.microsoft.com/cdo/configuration/sendusername") = "aaa@gmail.com"
oMsg.Configuration.Fields.Item _
("http://schemas.microsoft.com/cdo/configuration/sendpassword") = "******"
oMsg.Configuration.Fields.Item _
("http://schemas.microsoft.com/cdo/configuration/smtpconnectiontimeout") = 60
oMsg.Configuration.Fields.Update
oMsg.Send

oMsg.Configuration.Fields.Update
oMsg.Send
Set OutF = Fs.OpenTextFile("C:\FileSend\test.txt",8)
OutF.WriteLine "Date[" & date & "] Time[" & time & "] File[" & NewFile & "]"
OutF.Close

objShell.Popup "メール送信しました。", 0, "送信完了", 0
Set Fs = Nothing
Set Fl = Nothing
Set OutF = Nothing

使用しているパソコンは
Win7Professional 32bit
です。

よろしくお願いいたします!

VBS初心者です。
以下のサイトを参考に,特定のフォルダにファイルが追加されたら,
指定のメールアドレスに添付して送信するVBSを作成してみました。

http://plaza.rakuten.co.jp/mscrtf/diary/201206260000/

ちなみに記述を少しだけ変えて,
送信したファイルを削除しないようにしています。
しかしこうしてしまうと,「送信フォルダ」にファイルが追加されると,
その新しく追加されたファイルではなく,
前から置いてある別のファイルが送信されてしまいます。
「最新のファイルを添付して送信」することは...続きを読む

Aベストアンサー

 簡単なところから回答いたします。

> なぜか送信受信ともに,まったくおなじメールが2通作成されてしまいます。
 これは、
oMsg.Configuration.Fields.Update
oMsg.Send
がダブっているからです。

 参考にされた サイト にも2回は書いてありません。

 コーディング をされる際に、誤ってコピペでもされたのでしょうが、メール送信スクリプト などを書かれるときには、細心の注意が必要です。

●CDO.Messageによるメール送信
http://serialty.blog117.fc2.com/blog-entry-10.html
のように、[With ステートメント] を使ったり、長い文字列を
strConfigurationField ="http://schemas.microsoft.com/cdo/configuration/"
というように、定数に代入したりして、コード の可読性を高める工夫をされることをお薦めします。

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

>「最新のファイルを添付して送信」することはできないでしょうか?
 お示しの コード で添付ファイルを決定しているのは、
  For Each F In Fl.Files
    If F.Name > NewFile Then
      NewFile = F.Name
    End If
  Next
の部分ですが、これは、strPath フォルダ 内の ファイルを、名前順に巡回(For ~ Next ループ)して、最後の ファイル を NewFile に代入しています。
 従いまして、NewFile に代入されるのは、「前から置いてある別のファイル」ではなくて、名前の昇順に並べた場合の最後の ファイル ということになります。


 「最新のファイル」を特定するためには、strPath フォルダ 内の ファイル の更新日時や作成日時を検証して、最も新しいものを NewFile に代入するということになりますが、手っ取り早いのは、
oMsg.Send
した後で、添付ファイル を別の フォルダ(例えば「送信フォルダ」の下に「送信済み」フォルダ でも作っておいて、そこ)に移動するのが良いかと存じます。

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

> どこを直せばいいでしょうか?
 私は hotmail 環境がありませんので、試しようがありませんが、WEB でいろいろと検索してみますと、
・CreateObject("CDO.Message") は万能ではない。
・スパム防止策で Microsoft ができないようにしている。
というような意見が見受けられます。

 一方、
●[Template] Send SMTP email with Visual Basic Script (vbs) from Command Prompt using CDO([テンプレート] CDOを使用して、コマンドプロンプトからVisual Basicスクリプト(VBS)でSMTP電子メールを送信)
http://www.unix.com/windows-dos-issues-discussions/194939-template-send-smtp-email-visual-basic-script-vbs-command-prompt-using-cdo.html
には、live.com からでも メール が送れる スクリプト というような感じで書かれていますので、こちらをご参考になさってみてください。


 ただし、ウィキペディア(http://ja.wikipedia.org/wiki/Hotmail)には、
> Hotmail(ホットメール)は、MSNが提供していた(過去形)Webメールサービスである。
と書かれており、Microsoft としても仕様の変更を頻繁に行なっているようですので、何とも申せませんねぇ。。。

 簡単なところから回答いたします。

> なぜか送信受信ともに,まったくおなじメールが2通作成されてしまいます。
 これは、
oMsg.Configuration.Fields.Update
oMsg.Send
がダブっているからです。

 参考にされた サイト にも2回は書いてありません。

 コーディング をされる際に、誤ってコピペでもされたのでしょうが、メール送信スクリプト などを書かれるときには、細心の注意が必要です。

●CDO.Messageによるメール送信
http://serialty.blog117.fc2.com/blog-entry-10.html
のように、[With ステー...続きを読む

QBASP21の使用について

ASP.NETでBASP21を使用してメール送信のプログラムを作成しました。

現在、お客様の環境で、送信でエラーになるアドレスが何件かあり、困っております。

現状として。。。
(1)送信できないアドレスへOutLookからは送信可能。(お客様環境)
(2)送信先のアドレスだけ変更すると送信可能。(お客様環境)
(3)送信できないアドレスへ開発環境からは送信可能。(社内環境)

お客様の環境は以下の通りです。
・回線はNTT
・プロバイダはOCN
・SMTPサーバはレンタルのサーバ

いろいろ切り分けの為の調査を行っておりますが、
ここでは、回線とプロバイダが違うことで送信エラーとなることがあるのか、をご質問させてもらいたいと思います。

その他、気になること、助言などございましたらよろしくお願いします。

Aベストアンサー

No.1です。

自社メールサーバーを使用している場合に、迷惑メール対策による企業側のブロックを回避するために、SMTPゲートウェイを利用してきたのですが、最近一部の企業で対策がさらに強化されたようです。

当社もごく一部企業に送信ができなくなっております。

ただ、Outlookで御指定のメールサーバーにより、送信できたのであれば、この問題は該当しません。

QEXCEL VBAでメール添付して送信

こんにちは。
EXCEL VBAで
自分のファイルをある宛先にメールで送信したい場合は、
どのようにしたらできますか?
どなたか、わかる方・・・教えてください。
よろしくお願いします。

Aベストアンサー

参考のスレのVBAを必要な部分だけにすると以下になります。
準備
VBエディターのツール 参照設定で
Microsoft Outlook 10.0 Object Library にチェックをいれます。
B3セルに 宛先 メールアドレス
F3セルに CC メールアドレス
C3セルに 件名
D3セルに 本文
G3セルに 添付ファイルのパスとファイル名
入れておいた場合です。

Sub ボタン1_Click()
Dim myOLApp As Object
Dim myDATA As MailItem
Set myOLApp = CreateObject("Outlook.Application")
Set myDATA = myOLApp.CreateItem(olMailItem)
myDATA.To = Range("B3").Value
myDATA.CC = Range("F3").Value
myDATA.Subject = Range("C3").Value
myDATA.Body = Range("D3").Value
myDATA.Attachments.Add Range("G3").Value
myDATA.Send
Set myDATA = Nothing
Set myOLApp = Nothing
End Sub

コピペして使ってみてください。コマンドの意味は先紹介のスレに
説明して有ります。

参考のスレのVBAを必要な部分だけにすると以下になります。
準備
VBエディターのツール 参照設定で
Microsoft Outlook 10.0 Object Library にチェックをいれます。
B3セルに 宛先 メールアドレス
F3セルに CC メールアドレス
C3セルに 件名
D3セルに 本文
G3セルに 添付ファイルのパスとファイル名
入れておいた場合です。

Sub ボタン1_Click()
Dim myOLApp As Object
Dim myDATA As MailItem
Set myOLApp = CreateObject("Outlook.Application")
Set myDATA = myOLApp.CreateItem(olM...続きを読む

QBASP21のSendMailとSendMailExについて

お世話になります。
ASP(非.net)で、BASP21を利用してメール送信を行っております。

SendMailExでは普通に送信可能なのですが、まったく同じパラメタでSendMailを利用しようとすると、「HTTP/1.1 500 Internal Server Error」が発生してしまいます。

マニュアルを見る限りではSendMailとSendMailExのパラメタは同じと思われるのですが、実際は何か異なるのでしょうか。
それとも他に原因があるのでしょうか。
どなたか、ご存知の方いらっしゃいましたら、ぜひ教えていただけると助かります。

宜しくお願いします。

Aベストアンサー

http://www.hi-ho.ne.jp/babaq/basp21.html#0002

>>マニュアルを見る限りではSendMailとSendMailExのパラメタは同じと思われるのですが、実際は何か異なるのでしょうか。

マニュアルを見る限り、パラメータは違うと思うんだぁ。。。
ログファイルのあたりとか。。。ねぇ?

QVBA オブジェクトが空かどうか判定する

皆様のお知恵を拝借させてください。

エクセルVBAでオブジェクトを入れる変数を定義し、その変数にオブジェクト
が入っているかどうか検査したいのですがどうしたらいいでしょうか。

例えば---
Dim a As Workbook
If a <> nothing then ←この部分が分からない。このままだとエラー。
処理
End if
---------
環境
エクセル2003
WinXPsp1

Aベストアンサー

もし、aが空だったら
If a Is Nothing Then 

もし、aが空じゃなかったら
If Not a Is Nothing Then

Q【Excel VBA】マクロでExcel自体を終了させたい

環境:WindowsXP、Excel2003

マクロでエクセルを終了(ブックを閉じて、アプリケーション自体も終了)させたいのですが、以下のコードではアプリケーションが閉じてくれません。

ThisWorkbook.Close
ExcObj.Quit
Application.Quit

どこか悪いところはありますでしょうか?

よろしくお願いします。

Aベストアンサー

普通に考えれば質問者のコードで上手くいきそうですが
hana-hana3さんの回答にもあるようにThisWorkBook.Closeでコード終了となりますので
Application.QuitをThisWorkBook.Closeの前にもってこないといけません。
Application.Quitはそれがあるプロシージャのコードが全て終わるまで
その実行を保留するちょと特別動作をします。

'-------------------------------------
 Application.Quit
 ThisWorkbook.Close
'-------------------------------------
 
 


このQ&Aを見た人がよく見るQ&A

人気Q&Aランキング