Odesílání velkého množství emailů s přílohami přes „PickUp folder“

V tomto příspěvku si ukážeme alternativní způsob odesílání emailů ze serveru. Tento způsob je vhodný zejména v případě odesílání velkého množství emailů a emailů s přílohami. Oproti standartnímu způsobu odesílání (System.Web.Mail.SmtpMail.Send(Message)) se v tomto případě navíc u SmtpClient určuje metoda odeslání SmtpDeliveryMethod. Tím zajistíme, že SMTP server bude zpracovávat požadavky přes „PickUp folder“. Nyní ještě musíme specifikovat adresář, ze kterého se bude SMTP server číst PickupDirectoryLocation.

Imports System.Net.Mail
\'Odešle email s přílohou  VIA pickup folder
Public Function SendMailWithAttachement(ByVal odesilatel As System.Net.Mail.MailAddress, ByVal prijemce As System.Net.Mail.MailAddress, ByVal predmet As String, ByVal zprava As String, Optional ByVal filename As String() = Nothing) As Boolean

    Try

        Dim msg As New MailMessage
        Dim i As Integer
        msg.From = odesilatel 
        msg.To.Add(prijemce)
        msg.Subject = predmet
        msg.IsBodyHtml = False  \' Text|Html
        msg.Body = zprava

        \'volitelně můžeme připojit přílohy
        If Not (filename Is Nothing) Then
            For i = LBound(filename) To UBound(filename)
                If Not (filename(i) Is Nothing) Then
                    msg.Attachments.Add(New Net.Mail.Attachment(filename(i)))
                End If
            Next
        End If

        \'vytvoříme SmtpClienta
        Dim client As New SmtpClient("localhost") \'např. mail.domena.cz

        \'zvolime metodu
        client.DeliveryMethod = SmtpDeliveryMethod.SpecifiedPickupDirectory

        \'výchozí adresář pro pickup
        client.PickupDirectoryLocation = "C:\\Inetpub\\MailRoot\\Pickup\\" 

        \'odesíláme
        client.Send(msg)
        SendMailWithAttachement = True

    Catch ex As Exception

        SendMailWithAttachement = False

    End Try

End Function
Příspěvek byl publikován v rubrice ASP.NET (C#, VB) a jeho autorem je admin. Můžete si jeho odkaz uložit mezi své oblíbené záložky nebo ho sdílet s přáteli.

Napsat komentář

Vaše emailová adresa nebude zveřejněna. Vyžadované informace jsou označeny *