SMTP Standard Task does not dispose/quit connection after email has been send

  • Hi there,

    had a few troubles with my SMTP-Server -> SMTP Task.

    SSIS Packages that send a few messages in a short time, failed when the SMTP Server closes the connection.

    After checking with the SMTP Admins it seems, that the Standard SMTP-Tasks does not close the connection properly, meaning it does not send the "QUIT" to close the connection (see https://en.wikipedia.org/wiki/Simple_Mail_Transfer_Protocol#SMTP_transport_example

    I saw that Mail-Class in C# or VB you can send the "QUIT" to close the connection but I wonder if there is a way around to change all my SMTP-Tasks.

    How do you send SMTP-Messages in an SSIS Package?

    Does anyone know a fix for the SMTP Task?

    Cheers,

    Christian

  • How do you send SMTP-Messages in an SSIS Package?

    I call a 'helper' proc, which uses DBMail, via an ExecuteSQL task.

    The absence of evidence is not evidence of absence.
    Martin Rees

    You can lead a horse to water, but a pencil must be lead.
    Stan Laurel

  • The packages we have here send emails via Script Tasks, which use system.net.mail.smtpclient.

  • I also typically use a script task to send email. Have found the built in SMTP task to be buggy and unreliable.

  • Martin Schoombee (7/14/2015)


    I also typically use a script task to send email. Have found the built in SMTP task to be buggy and unreliable.

    Is this sync or async?

    The absence of evidence is not evidence of absence.
    Martin Rees

    You can lead a horse to water, but a pencil must be lead.
    Stan Laurel

  • Phil Parkin (7/14/2015)


    Martin Schoombee (7/14/2015)


    I also typically use a script task to send email. Have found the built in SMTP task to be buggy and unreliable.

    Is this sync or async?

    Async I believe.

  • Sounds good. I did it in a proc to avoid having to cut and paste C# code all over the place. I suppose you could have a child package which does the emailing and call that, but even then it's available only within its own project.

    The absence of evidence is not evidence of absence.
    Martin Rees

    You can lead a horse to water, but a pencil must be lead.
    Stan Laurel

  • Phil Parkin (7/14/2015)


    Sounds good. I did it in a proc to avoid having to cut and paste C# code all over the place. I suppose you could have a child package which does the emailing and call that, but even then it's available only within its own project.

    I will correct myself! It's easy enough to execute a package outside of your 'current' project using some T-SQL. So calling a single child 'Email' package would be feasible.

    The absence of evidence is not evidence of absence.
    Martin Rees

    You can lead a horse to water, but a pencil must be lead.
    Stan Laurel

Viewing 8 posts - 1 through 7 (of 7 total)

You must be logged in to reply to this topic. Login to reply