{"id":1698,"date":"2009-03-25T23:21:30","date_gmt":"2009-03-26T03:21:30","guid":{"rendered":"http:\/\/blogs.n1zyy.com\/n1zyy\/?p=1698"},"modified":"2009-03-25T23:21:30","modified_gmt":"2009-03-26T03:21:30","slug":"mailserver-errors","status":"publish","type":"post","link":"https:\/\/blogs.n1zyy.com\/n1zyy\/2009\/03\/25\/mailserver-errors\/","title":{"rendered":"Mailserver Errors"},"content":{"rendered":"<p>At work, I have to deal with a <em>ton<\/em> of mail bounces. We get hundreds a day. Automating the process has been a bit of a side project of mine, but it&#8217;s been slow going, for the simple reason that mailservers don&#8217;t use standard codes. I&#8217;m able to catch something like 50% of mail, but that&#8217;s still a <em>lot<\/em> that gets missed. Some is base64 encoded, and in others, people just thought they&#8217;d get cute and use wholly custom text to indicate the problem. When you&#8217;re AOL I can write a filter to match &#8220;MAILBOX NOT FOUND&#8221; even though there&#8217;s no 500-level error. When you&#8217;re joesdiscountplumbing.com, I&#8217;m not going to waste my time. (<a href=\"http:\/\/en.wikipedia.org\/wiki\/VERP\">VERP<\/a> kind of solves this, except that Exchange doesn&#8217;t support <a href=\"http:\/\/en.wikipedia.org\/wiki\/Plus_addressing#Sub-addressing\">plus addressing<\/a>, so we&#8217;d need to set up a new MX to catch mail, which means we&#8217;d need to send mail from a new subdomain, and it quickly becomes a really involved project.)<\/p>\n<p>But anyway, today I got this awesome bounce message (I&#8217;ve removed the user&#8217;s e-mail address):<\/p>\n<blockquote><tt>\nMessage from\u00a0 yahoo.com.\nUnable to deliver message to the following address(es).\n\n<REDACTED@att.net_>:\n\/libexec\/ld-elf32.so.1: Shared object \"libc.so.4\" not found, required by \"qmail-local\"\n<\/tt><\/blockquote>\n<p>For the uninitiated, that&#8217;s a <i>baaaad<\/i> error on Yahoo&#8217;s (or maybe AT&#038;T&#8217;s?) end. libc.so.4 is the C library. It&#8217;s not quite apples-to-apples, but think, &#8220;Cannot find kernel32.dll.&#8221;<\/p>\n<p>It&#8217;s probably something like a corrupted disk in one of hundreds of servers, but it certainly stood out from all the other &#8220;Mailbox unavailable&#8221; messages that came in. (I do see a surprising amount of mailservers that give ridiculous errors in some situations, like putting the full SQL query used to try to find the account in the bounce e-mail, or complaints about file permissions.)<\/p>","protected":false},"excerpt":{"rendered":"<p>At work, I have to deal with a ton of mail bounces. We get hundreds a day. Automating the process has been a bit of a side project of mine, but it&#8217;s been slow going, for the simple reason that &hellip; <a href=\"https:\/\/blogs.n1zyy.com\/n1zyy\/2009\/03\/25\/mailserver-errors\/\">Continue reading <span class=\"meta-nav\">&rarr;<\/span><\/a><\/p>","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[1],"tags":[],"class_list":["post-1698","post","type-post","status-publish","format-standard","hentry","category-uncategorized"],"_links":{"self":[{"href":"https:\/\/blogs.n1zyy.com\/n1zyy\/wp-json\/wp\/v2\/posts\/1698","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/blogs.n1zyy.com\/n1zyy\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/blogs.n1zyy.com\/n1zyy\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/blogs.n1zyy.com\/n1zyy\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/blogs.n1zyy.com\/n1zyy\/wp-json\/wp\/v2\/comments?post=1698"}],"version-history":[{"count":0,"href":"https:\/\/blogs.n1zyy.com\/n1zyy\/wp-json\/wp\/v2\/posts\/1698\/revisions"}],"wp:attachment":[{"href":"https:\/\/blogs.n1zyy.com\/n1zyy\/wp-json\/wp\/v2\/media?parent=1698"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/blogs.n1zyy.com\/n1zyy\/wp-json\/wp\/v2\/categories?post=1698"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/blogs.n1zyy.com\/n1zyy\/wp-json\/wp\/v2\/tags?post=1698"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}