ページ

2011年4月5日火曜日

外部サーバを利用してメールを送信する。

今日は「VBScriptでメールを送信する」に続き、外部サーバを利用したメールの送信です。

「SMTP認証」が必要な場合でも攻略できます。

「POP Before SMTP」の場合は別途考えましょう。

Sub SendMailOuterServer(strFrom, strTo, strCC, strSubject, strTextBody, strAttachFile)
    Dim strSchema
    If Len(strTextBody) > 0 Then
        Dim objMessage
        Set objMessage = CreateObject("CDO.Message")
        With objMessage.Configuration.Fields
            strSchema = "http://schemas.microsoft.com/cdo/configuration/"
            .Item(strSchema & "sendusing")        = 2
            .Item(strSchema & "smtpserver")       = "mailserver.com"
            .Item(strSchema & "smtpserverport")   = 25 ' or 587 or SSL(465)
            .Item(strSchema & "smtpauthenticate") = 1 ' SMTP認証あり 認証不要の場合は0、username,password は不要
            .Item(strSchema & "sendusername")     = "username"
            .Item(strSchema & "sendpassword")     = "password"
            .Item(strSchema & "cdoLanguageCode")  = "shift-jis" ' or "euc-jp" or "iso-2022-jp" or "utf-7" or "utf-8"
            .Item(strSchema & "smtpusessl")       = 0 ' 暗号化なし SSLを使用する場合は1とする
            .Update
        End With

        With objMessage
            .From = strFrom
            .To = strTo
            If strCC <> "" Then
                .CC = strCC
            End If
            .Subject = strSubject
            .TextBody = strTextBody
            If strAttachFile <> "" Then
                .AddAttachment strAttachFile
            End If
            .Send
        End With
    End If

End Sub

0 件のコメント:

コメントを投稿