Excel VBAからCDOを使用してメール送信


最初にやること

CDOを参照をさせます。

ツール-参照設定でMicrosoft CDO for Windows 2000 Libraryにチェックを入れます。

プログラム

activesheetの
B1に送信先メールアドレス
B2に題名
B3に本文
が記入されているものとします。

Option Explicit

 Sub SendMail()
    Dim objCDO As New CDO.Message
    With objCDO
        With .Configuration.Fields '設定項目
            .Item(cdoSendUsingMethod) = cdoSendUsingPort '外部SMTP指定
            .Item(cdoSMTPServer) = "mail.server.name" 'SMTPサーバ名
            .Item(cdoSMTPServerPort) = 25 'ポート№(メールサーバーごとに変更)
            .Item(cdoSMTPConnectionTimeout) = 60 'タイムアウト

            .Item(cdoSMTPAuthenticate) = cdoBasic 'SMTP認証
            .Item(cdoSMTPUseSSL) = False 'SSL指定
            .Item(cdoSendUserName) = "sender ID" '送信ユーザー
            .Item(cdoSendPassword) = "password" '送信パスワード
            .Item(cdoLanguageCode) = CdoCharset.cdoShift_JIS  '文字セット指定
            .Update '設定更新
        End With

        .BodyPart.Charset = "utf-8" '本文の文字セット指定
        .From = "sender@address" '送信者アドレス
        .To = cells(1,2) '受信者
        .Subject = Cells(2, 2).Value '題名
        .TextBody = Cells(3, 2).Value '本文
        .Send '送信
    End With

    Set objCDO = Nothing
End Sub

おわり