Excelで一斉メール送信ソフトを作ってみよう

Step 3 送信テストボタンの設置


メール送信にはTatsuo Babaさん作成のBSMTP.DLLを使用させていただきました。
BSMTP.DLLの著作権はTatsuo Babaさんが所有されています。
BSMTP.DLLはここよりダウンロードできます。
ダウンロード後、インストールしてください。



Homeに戻る > Excelでアプリケーションソフト > 一斉メール送信ソフト

シートのVBAコード

下記のVBAコードを追加してください。

Option Explicit

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

Private Function ExSendMail() As Boolean
    Dim sret 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    '添付ファイル
    
    ExSendMail = False
    szServer = Range("H6")
    szFrom = Range("H7")
    szTo = Range("H7")
    szSubject = Range("H9")
    szBody = Range("H11")
    szFile = ""
    
On Error GoTo ErrEnd
    sret = SendMail(szServer, szTo, szFrom, szSubject, szBody, szFile)

    ' 送信エラーの場合
    If Len(sret) <> 0 Then
        MsgBox "送信エラー: " & sret, , "一斉メール送信"
    Else
        ExSendMail = True
    End If
    Exit Function
ErrEnd:
    MsgBox "送信中にエラーが発生しました。" & vbCrLf & Err.Description, , "一斉メール送信"
End Function

Private Sub CommandButton1_Click()
    If ExSendMail Then
        MsgBox "正常に送信できました。", , "一斉メール送信"
    End If
End Sub


シート画面

「送信テスト」ボタンをクリックすると、「送信元アドレス」から「送信元アドレス」宛にメールを送信します。
正常に送信できた場合、エラーの場合、下画像のようにメッセージが表示されます。

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

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


Homeに戻る > Excelでアプリケーションソフト > 一斉メール送信ソフト

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


Copyright (c) Excel-Excel ! All rights reserved