Excelからメールを送信するプログラム。

いよいよExcelからメール送信するプログラムを作成します。

今回のプログラムは、メール送信の最も基本的なプログラムです。

【1】Excelのファイル「メール送受信.xls」を開きます。

*マクロを有効にする


【2】VBEを起動します。

*「Altキー」+「F11キー」


【3】フォーム「frm送信」のコードを表示します。

mail-60.gif


【4】オブジェクトは「cmd送信」、イベントは「Click」を選択します。

mail-61.gif

このイベントプロシージャにプログラミングします。


【5】以下のようにVBAプログラムを入力してください。

mail-62.gif

*黒枠部分は、あなたの環境に合わせて変更が必要です。
*ポート番号は、SMTPサーバによって、「25」か「587」を指定します。
*タイムアウト秒は、「60」や「120」というように指定できます。

「'」(シングルクォーテーション)部分は、コメントなので、プログラムの動作に影響しません。省くこともできますが、とりあえずそのまま入力してください。

・メール送信プログラムの例

Private Sub cmd送信_Click()
    
    Dim bobj As Object
    Dim svname As String
    Dim id As String
    Dim pass As String
    Dim msg As Variant '送信チェック用
    
    'SMTPサーバ名:ポート番号:タイムアウト秒
    svname = "ここにSMTPサーバ名:587:60"
    
    'ログインID
    id = "ここにログインID"
    
    'パスワード
    pass = "ここにパスワード"
    
    'オブジェクトを作成
    Set bobj = CreateObject("basp21")
    
    '宛先
    mailto = "ここに宛先メルアド"
    
    '送信者
    mailfrom = "株式会社○○<" & id & ">" & vbTab & id & ":" & pass
        
    '件名
    subj = "送信テスト"
    
    '本文 改行はvbCrLf
    body = "おはようございます。" & vbCrLf & "今日は良い天気ですね。"
    
    'メール送信
    msg = bobj.SendMail(svname, mailto, mailfrom, subj, body, "")
    
    ' 送信チェック
    If msg <> "" Then
        MsgBox "送信できませんでした。" & vbCrLf & msg, vbOKOnly + vbCritical, "エラー"
    Else
        MsgBox "送信に成功しました。", vbOKOnly + vbInformation, "完了"
    End If

End Sub


変数 svname、id、pass に代入する部分は、あなたが利用しているレンタルサーバーの設定に合わせて、変更してください。

mailto(宛先)は、練習なので、あなた自身のメールアドレス宛てにしてください。

また mailfrom の送信者も、必要なら変更することができます。今は練習なので、そのままでもかまいません。


【補足】
(1)送信用のメールアドレス
送信用のメルアドは、あなたが普段使っているものでかまいません。

でもプログラムの中に、IDやパスワードなどの設定を記述するので、心配なら専用に用意してください。


(2)メソッドについて
メールを送信する機能は、BASP21を利用しています。

メソッド(命令)の使い方や、指定する引数、オプションについては、BASP21 のWebサイトで詳しく説明されています。


(3)変数名について
変数名は、できるだけBASP21のWebサイトと同じにしています。意味を調べやすくするためです。

ただし、元々無い変数や、プログラム上都合の悪い部分は、独自に加えたり、変更している部分もあります。


(4)ログインIDについて
上記のプログラムは、SMTPサーバのログインIDが、メールアドレスと同じであることが前提です。

レンタルサーバーによっては、ログインIDとメールアドレスが別のことがあるので、注意してください。

違う場合は、少しだけプログラムの変更が必要です。


(5)送信者について
Outlook Express のようなメーラーで受信した時に、「送信者」の項目に表示されるのが、以下の部分です。

"株式会社○○<" & id & ">"

「株式会社○○」の部分は変更できますが、必ず「<」以降は残してください。プログラム上、重要な意味があります。


プログラムの動作確認は、次のステップで行ないます。また、プログラムの詳細については、動作確認の後に解説します。

スポンサードリンク

スポンサードリンク






メール送信・受信プログラミング初心者入門 TOPへ