メールをすぐに送信する : Excel(エクセル)

今回、Excel VBAでメール送信するにはTatsuo Babaさん作成のBsendm.exeを使用させていただきました。
Bsendm.exeの著作権はTatsuo Babaさんが所有されています。
Bsendm.exeはここよりダウンロードできます。
ダウンロード後、システムフォルダ(windows\system32)においてください。

SendMail関数の場合、送信終了まで待ちますが、SendMailEx関数の場合、Bsendm.exeが実行するのですぐに帰ります。
実行結果はログファイルに保存されます。

Excel Tipsメニューに戻る

スポンサーリンク






Excel VBA コード

Option Explicit

Private Declare Function SendMailEx Lib "bsmtp" _
      (szLogfile As String, szServer As String, szTo As String, szFrom As String,_
       szSubject As String, szBody As String, szFile As String) As String

Private Sub ExSendMail()
    Dim sret As String
    Dim szLogfile As String 'ログファイル名
    Dim szServer As String  'SMTPサーバー名
    Dim szFrom As String    '送信元
    Dim szTo As String      '宛先
    Dim szSubject As String '件名
    Dim szBody As String    '本文
    Dim szFile As String    '添付ファイル
    
    szLogfile = "c:\mail_test\log.txt"
    szServer = Range("G13")
    szFrom = Range("G14")
    szTo = Range("G17")
    szSubject = Range("G4")
    szBody = Range("G5")
    szFile = ""
    
    sret = SendMailEx(szLogfile, szServer, szTo, szFrom, szSubject, szBody, szFile)

    ' 送信エラーの場合
    If Len(sret) <> 0 Then
        MsgBox "送信エラー: " & sret
    End If
End Sub

Private Sub CommandButton1_Click()
    ExSendMail
End Sub

スポンサーリンク



Excelシート画面

件名、本文、SMTPサーバー名、送信元アドレス、送信先アドレスを入力します。

※.メールサーバーが「Outbound Port25 Blocking」に対応している場合、送信できない場合があります。
 この場合、SMTPサーバー名:587 のようにSMTPの後ろに「:587」を付けると送信できる場合があります。
 メールサーバーが対応していないとできません。

 「Outbound Port25 Blocking」とは25番ポートブロックといわれています。
 ウイルスメールや迷惑メール、フィッシングメールなどの防止の為、近年、採用されるプロバイダーが多くなっています。

スポンサーリンク






Excel Tipsメニューに戻る

■■■
このサイトの内容を利用して発生した、いかなる問題にも一切責任は負いませんのでご了承下さい
■■■
当ホームページに掲載されているあらゆる内容の無許可転載・転用を禁止します


Copyright (c) Excel-Excel ! All rights reserved