機能と数式 | VBA | セミナー | オンラインソフト | お問い合わせ | その他
Top > Excel > VBA

メールを送信する




このテクニックはBASP21を使います。 BASP21については下記ページをご覧ください。
BASP21について

BASP21を使うとメールの送受信が簡単に行えます。まずはメールの送信から。なお、サーバー名やアカウント、パスワードなどはサンプルです。このコードをそのまま実行するとエラーになりますので、ご利用の環境に合わせてサーバー名やアカウント、パスワードなどを適切に設定してください。

Sub Sample()
    Dim bobj, msg As String
    Dim Server As String, Mailto As String, MailFrom As String, Subject As String, Body As String
    Set bobj = CreateObject("basp21")   ''BASP21オブジェクト
    Server = "smtp.xxxxx.com"           ''SMTPサーバー
    Mailto = "xxxxxxx@officetanaka.net" ''宛先
    MailFrom = "toru_tanaka@xxxxx.com"  ''差出し人
    Subject = "タイトル"                ''タイトル
    Body = "ここに本文を書きます"       ''本文
    msg = bobj.SendMail(Server, Mailto, MailFrom, Subject, Body, "")
    Set bobj = Nothing
    If msg <> "" Then MsgBox msg
End Sub

メールの送信はSendMailメソッドです。構文は次の通りです。

bobj.SendMail(Server, Mailto, MailFrom, Subject, Body, File)

引数ServerにはSMTPサーバー名を指定します。フリーのメールアカウントではSMTPサーバーを公開していないところもあります。
いわゆるWebメールなどですね。SMTPサーバーがわからない場合は…あきらめましょう。
引数Mailtoは宛先です。CCやBCCを設定することも可能です。
引数MailFromは差出人のメールアドレスです。SMTPサーバーで利用可能なメールアドレスを指定してください。
引数Subjectはタイトル。引数Bodyは本文です。最後の引数Fileには添付ファイルを指定できます。

SendMailメソッドの返り値はLongではなく文字列です。エラーが発生した場合、エラーの内容を表す文字列を返します。
送信に成功すると空の文字列("")を返します。

詳しくはBASP21のヘルプを参照してください。

メールサーバーによってはSMTP認証やPOP Before SMTP認証など、いろいろなルールがありますので、各自で調べてください。
SendMailメソッドで送信したメールは、X-Mail-AgentヘッダにBASP21を使って送信したという内容の情報が書き込まれます。






このエントリーをはてなブックマークに追加