dslreports logo
site
 
    All Forums Hot Topics Gallery
spc

spacer




how-to block ads


Search Topic:
uniqs
2103
share rss forum feed


DC DSL
There's a reason I'm Command.
Premium
join:2000-07-30
Washington, DC
kudos:2

Sendmail Error Handling

I have an app that broadcasts emails to selected subscribers. The app loops through the recipient list, puts up to the batch size addresses into the bcc: then sends. Rinse and repeat. The problem we're running into is that some people are consistently not receiving emails and we've run through the list of things to check for overly aggressive anti-spam filters on their end.

What I'm wondering is if the batches these recipients happen to land in could be failing because sendmail ran into an error while trying to send that batch. In particular, a dead address. The app (ASP.NET) has the send operation in a Try block. Catch records the error to a log and then keeps going...but none of the alerts in question recorded any errors.

When sending to a bcc list, does sendmail continue sending to all good recipients even if it encounters recipient unknown or a defunct domain? Or does it abort the batch when it hits such a response? What error or response should it be sending back to the invoker to indicate this situation?
--
"Dance like the photo isn't being tagged; love like you've never been unfriended; and tweet like nobody is following."



Rob
In Deo speramus.
Premium
join:2001-08-25
Kendall, FL
kudos:3

Invalid e-mail addresses in the batch will prevent the entire e-mail from being sent, from what I understand. I am not sure what error or response it will generate, however.
--
CheckSite.us | YourIP.us | Reverseip.us



DC DSL
There's a reason I'm Command.
Premium
join:2000-07-30
Washington, DC
kudos:2

Hmmmmm. Sendmail tastes all of the addresses first before actually sending? I was under the impression that it works like this:

multiple recipients at the same domain grouped together
connect to domain
rcpt to
send message
move along to next

If this is correct, then at least some recipients would receive the message but ones after a bad address would not. This is what I suspect may be happening here (but I am not ruling out anything else).

I suppose I could rework the logic to send to each subscriber individually and perhaps trap an offending address to determine where it is in the batch...though that will kill performance since these messages can go to thousands of recipients.
--
"Dance like the photo isn't being tagged; love like you've never been unfriended; and tweet like nobody is following."



Rob
In Deo speramus.
Premium
join:2001-08-25
Kendall, FL
kudos:3

Since you are grouping them into batches and putting them in the bcc field, then any incorrectly formatted email addresses should prevent the entire email message from executing since the BC batch isn't correct. At least that has been my experiencece.

I would considering sending individual emails, with a wait time between every 100 messages sent.
--
CheckSite.us | YourIP.us | Reverseip.us



DC DSL
There's a reason I'm Command.
Premium
join:2000-07-30
Washington, DC
kudos:2

Incorrectly formatted addresses aren't the problem...addresses that are not recognized by the destination host (as in someone who has left a company or misspelled their address). Between the data entry handler and the recipient selector routine, there is zero chance of an invalid format getting down to sendmail.
--
"Dance like the photo isn't being tagged; love like you've never been unfriended; and tweet like nobody is following."



Rob
In Deo speramus.
Premium
join:2001-08-25
Kendall, FL
kudos:3

said by DC DSL:

Incorrectly formatted addresses aren't the problem...addresses that are not recognized by the destination host (as in someone who has left a company or misspelled their address). Between the data entry handler and the recipient selector routine, there is zero chance of an invalid format getting down to sendmail.

Ohh, then no, there's no reason why the entire batch would be rejected. Is your reply-to email address a valid address? Are you receiving any returned emails?
--
CheckSite.us | YourIP.us | Reverseip.us


DC DSL
There's a reason I'm Command.
Premium
join:2000-07-30
Washington, DC
kudos:2

We do get NDRs after the fact. They aren't the problem. This looks like some servers are causing batches to halt for an invalid recipient and sendmail isn't reporting back so the app can handle it. I'm not a sendmail guru so I'm looking for input as to what's going on so I can work out a strategy for dealing with it. The app was coded for the built-in Windows Server SMTP, which did report invalid addresses and I could record it and keep going. Sendmail seems to not behave the same way.
--
"Dance like the photo isn't being tagged; love like you've never been unfriended; and tweet like nobody is following."



Rob
In Deo speramus.
Premium
join:2001-08-25
Kendall, FL
kudos:3

Hmm.. if you're getting NDRs, then I don't think sendmail is halting the batch. No idea though.



DC DSL
There's a reason I'm Command.
Premium
join:2000-07-30
Washington, DC
kudos:2

Invalid recipient behavior varies. Some outright reject on the message but others don't as an anti-spam measure. Some are front-ends that pass messages along to others behind them for disposition. Some delay NDRs until after they've validated the originating server to prevent DoS message looping attacks. I just don't know if this is a sendmail behavior that I can do anything about.
--
"Dance like the photo isn't being tagged; love like you've never been unfriended; and tweet like nobody is following."



cdru
Go Colts
Premium,MVM
join:2003-05-14
Fort Wayne, IN
kudos:7
reply to DC DSL

How big of a list is it?



DC DSL
There's a reason I'm Command.
Premium
join:2000-07-30
Washington, DC
kudos:2

It varies based on the selection criteria for a broadcast. Could be a handful of addresses...or thousands. The problem is sporadic and the only thing I see that's consistent is certain people complaining that they don't receive them.
--
"Dance like the photo isn't being tagged; love like you've never been unfriended; and tweet like nobody is following."



cdru
Go Colts
Premium,MVM
join:2003-05-14
Fort Wayne, IN
kudos:7

I'd honestly send them out individually.

Presuming the address's domain names are spread out over the typical spectrum of ISPs, even several thousand addresses probably isn't going to run you into trouble as long as the messages follow all recommended best practices. Now if your list is 5k or more, then some throttling might be in order.

For the people that claim they don't receive the email, are they on the same ISP? Multiple different ISPs but always the same few? Do others at the same domain name receive the same (or very similar) message?



DC DSL
There's a reason I'm Command.
Premium
join:2000-07-30
Washington, DC
kudos:2

Sending individually takes longer to process and does use more bandwidth (client's got a 1mbps pipe for everything...not my choice or control).

Some of the failed recipients share a domain (i.e, work for the same company) but few of the domains are at the same host. However, someone at a company may get the message but the rest won't. The only pattern I see is that those who do receive are in the distro before someone who doesn't. This leads me to thinking a dead address is causing the problem. Fixing them one off is not the issue...provided I can find the address causing it to derail. The problem is the app isn't being alerted to automatically suspend a problem address. There are over 500K subscribers...and we won't know there's a problem unless someone pings us that they aren't getting anything.

With all the rabid "Linux awesome; Windows sucks!" people around here, I'm kinda surprised someone who's a sendmail expert hasn't chimed in to tell me what I'm doing wrong.
--
"Dance like the photo isn't being tagged; love like you've never been unfriended; and tweet like nobody is following."

Expand your moderator at work

Rajarshi

join:2012-10-26
New York, NY
reply to DC DSL

Re: Sendmail Error Handling

Your problem is due to use of the dotnet. You must change to php on not Microsoft platform to prevent.



DC DSL
There's a reason I'm Command.
Premium
join:2000-07-30
Washington, DC
kudos:2

1 recommendation

said by Rajarshi:

Your problem is due to use of the dotnet. You must change to php on not Microsoft platform to prevent.

You clearly do not have a clue as to what I'm talking about.
--
"Dance like the photo isn't being tagged; love like you've never been unfriended; and tweet like nobody is following."

Rajarshi

join:2012-10-26
New York, NY

said by DC DSL:

You clearly do not have a clue as to what I'm talking about.

The dotnet cannot understand advanced codes of SendMail causing failure. Php accepts codes allowing correct functioning. Use php to receive codes.


DC DSL
There's a reason I'm Command.
Premium
join:2000-07-30
Washington, DC
kudos:2

said by Rajarshi:

said by DC DSL:

You clearly do not have a clue as to what I'm talking about.

The dotnet cannot understand advanced codes of SendMail causing failure. Php accepts codes allowing correct functioning. Use php to receive codes.

Tell me, exactly what status codes are you talking about? ASP.NET's SmtpClient recognizes the SmtpStatusCode values listed here. I am trying to find out what conditions could cause sendmail to not signal an error during processing of a batch of to:, cc:, or bcc: addresses. If you do not know, then kindly stay out of the discussion.
--
"Dance like the photo isn't being tagged; love like you've never been unfriended; and tweet like nobody is following."

Rajarshi

join:2012-10-26
New York, NY

I am expert of php and do not understand the page you link. SendMail returns advanced status codes that the dotnet is not capable to understand.



DC DSL
There's a reason I'm Command.
Premium
join:2000-07-30
Washington, DC
kudos:2

said by Rajarshi:

I am expert of php and do not understand the page you link. SendMail returns advanced status codes that the dotnet is not capable to understand.

You sure don't seem like much of an expert if you can't understand a straightforward list of the SMTP status codes ASP.NET can recognize...or provide this list of "advanced status codes" you mention to establish if there is something I am missing.

Also, will you kindly describe the processing sendmail performs when a message is going to multiple recipients, with some domains having more than one recipient? How are the remote server connections handled and what happens if any one of those servers rejects one address?
--
"Dance like the photo isn't being tagged; love like you've never been unfriended; and tweet like nobody is following."

Rajarshi

join:2012-10-26
New York, NY

I am most expert. I have told you that you must not use the dotnet for this to avoid failure.



DC DSL
There's a reason I'm Command.
Premium
join:2000-07-30
Washington, DC
kudos:2

said by Rajarshi:

I am most expert. I have told you that you must not use the dotnet for this to avoid failure.

You keep saying that but you fail to provide anything to back up your statements. What "advanced codes" are you talking about? Why would ASP.NET be any different than php beyond semantics? And please do answer my question about how sendmail is actually handling addresses and remote system responses. Otherwise, just hold your tongue.

BTW, if anyone else can actually provide useful info, by all means do.
--
"Dance like the photo isn't being tagged; love like you've never been unfriended; and tweet like nobody is following."

Rajarshi

join:2012-10-26
New York, NY

said by DC DSL:

You keep saying that but you fail to provide anything to back up your statements. What "advanced codes" are you talking about? Why would ASP.NET be any different than php beyond semantics? And please do answer my question about how sendmail is actually handling addresses and remote system responses. Otherwise, just hold your tongue.

BTW, if anyone else can actually provide useful info, by all means do.

I have told you problem is you use the dotnet. You are not expert because you use it and cannot obtain desired result. I tell you as most expert of development to use php.


DC DSL
There's a reason I'm Command.
Premium
join:2000-07-30
Washington, DC
kudos:2

said by Rajarshi:

said by DC DSL:

You keep saying that but you fail to provide anything to back up your statements. What "advanced codes" are you talking about? Why would ASP.NET be any different than php beyond semantics? And please do answer my question about how sendmail is actually handling addresses and remote system responses. Otherwise, just hold your tongue.

BTW, if anyone else can actually provide useful info, by all means do.

I have told you problem is you use the dotnet. You are not expert because you use it and cannot obtain desired result. I tell you as most expert of development to use php.

Do me and everyone else here a favor and just stop. I don't care what you think of ASP.NET and it is NOT your place to make such critiques. As I recall, you have all of 3 years of development experience...that is nowhere near enough to be touting yourself as some kind of supreme deity. If you can provide actual information that helps someone resolve a problem, great. Otherwise, if all you're going to do is be a broken record repeating the same thing over and over, DO NOT click the reply button.
--
"Dance like the photo isn't being tagged; love like you've never been unfriended; and tweet like nobody is following."

Rajarshi

join:2012-10-26
New York, NY

You are not polite and offense me. I have been most helpful by advice you not use the dotnet. How do you not understand my assistance? My advice is expert to you so you should accept it.



Harddrive
Proud American and Infidel since 1968.
Premium
join:2000-09-20
DFW
kudos:2

1 recommendation


Rajarshi

join:2012-10-26
New York, NY

Sir please explain why you reply this to me. Mr. DC is not understanding and does not try my advise.



Harddrive
Proud American and Infidel since 1968.
Premium
join:2000-09-20
DFW
kudos:2

1 recommendation

Because no one in IT can be this stupid. You've shown in other posts of yours that you do not reflect the skill set that is needed to resolve complex problems in the IT world. And with that, you've become hostile after you've asked a question to highly regarded members of this forum when they pointed you in the direction of solving your IT problem when, in your 'expert' IT knowledge base, wouldn't help.

There is a village out there... and they are looking.



odnc
Premium
join:2002-02-04
Richmond, VA
reply to DC DSL

Do you have access to sendmails log file?

One thought: large bcc lists may cause issues on the receiving server.
Another: have you sanitised your mail list? Improperly constructed addresses are sure to cause problems.
--
This country needs an enema.