Re: In-queue rejections
Geert Hendrickx wrote: On Tue, Dec 29, 2009 at 04:07:01PM -0800, Daniel L. Miller wrote: My understanding is a MUA (for convenience, call it Thunderbird) will talk to a local MTA (Postfix, of course!) to send mail. After authentication and any other local checks, the local MTA accepts responsibility for the message - the MUA disconnects. The local MTA then attempts to send the message to the remote MTA. If successful...unless there's something else I don't know about, nothing further happens between the local MTA and MUA. If unsuccessful, and idiot OP's like me don't have soft_bounce enabled, the MTA will generate a bounce message and send it to the sender's address, and cancel the send. Then do the recipient domain validity check *before* accepting and queuing the message: put reject_unknown_recipient_domain in your smtpd_recipient_restrictions. This will make Postfix respond with: 450 4.1.2 x...@y.z: Recipient address rejected: Domain not found You know, it's not fair to give me an answer that not only answers my question - but eliminates the need for a complicated new project just by proper configuration! Geez! Hmm...can I extend this and use reject_unverified_recipient? Or will this cause problems? -- Daniel5276
Re: In-queue rejections
On 12/30/2009 3:19 PM, Daniel L. Miller wrote: Geert Hendrickx wrote: Then do the recipient domain validity check *before* accepting and queuing the message: put reject_unknown_recipient_domain in your smtpd_recipient_restrictions. This will make Postfix respond with: 450 4.1.2 x...@y.z: Recipient address rejected: Domain not found You know, it's not fair to give me an answer that not only answers my question - but eliminates the need for a complicated new project just by proper configuration! Geez! Hmm...can I extend this and use reject_unverified_recipient? Or will this cause problems? It is not recommended to use reject_unverified_recipient for domains you are not responsible for. Reason: some people may take offense at your server checking addresses and put you on a personal blacklist. Also, the solution above is subject to transient DNS errors. Make sure your DNS source is rock solid.
Re: In-queue rejections
Wietse Venema wrote: Daniel L. Miller: [ Charset ISO-8859-1 unsupported, converting... ] I don't know what the correct terminology is for my question - please adjust my wording as needed. When a user mistypes a remote e-mail address (not that THAT ever happens!), the result is typically either a user unknown, invalid recipient, or host or domain not found message. At least for MY Um, why is user unknown mail stuck in your queue? It should be returned as soon as Postfix finds out. It's quite possible I have something misconfigured...here's are some samples from my current mailq - 7A44F20CED3 4338053 Mon Dec 28 10:50:59 idiotu...@amfes.com (Host or domain name not found. Name service error for name=fireprotectionbymesa.com type=: Host not found) jeff...@fireprotectionbymesa.com 5F47320CEC2 4338844 Mon Dec 28 13:12:09 idiotu...@amfes.com (host mail.fireprobymesa.com[65.40.152.138] said: 550 5.1.1 User unknown (in reply to RCPT TO command)) jeff...@fireprobymesa.com First he got the domain wrong - but he also got the username portion wrong as well. system, with MY configuration (however flawed it may be), this results in a couple messages floating in the send queue with these statuses. Periodically, I'll check for such items, notify my users of a problem, and delete them from the queue. I do have a bounce_template_file, and I've TRIED to make it a bit more informative - but my users still cross their eyes and call me and complain that OUR mail server is broken! Is there a more advanced option that can give individual messages instead of a generic bounce message? Something that might parse the rejection and give specific advice to the computer illiterate? This option is called transport(5) (and involves setting up specific rules for specific RECIPIENT addresses or domains). But I don't recommend that you do this. I believe I understand where you're headed with this - but it's NOT what I was asking! I DON'T want to manually maintain transport tables to handle user misspellings. Instead I was hoping the server could examine the error and automagically make a recommendation back to the authenticated local sender for a user correction. Something like...(pseudo code logic) if host not found, either remote server's DNS is wrong or user mistyped - recommend verifying domain name prior to re-sending. Also, is there any e-mail interface for canceling messages? So that if a slightly more competent user actually READS the bounce message, determines that they spelled it wrong - they can tell the mail server to cancel the send? Again, why is user unknown mail stuck in your queue anyway? It should be returned as soon as Postfix finds out. Wietse -- Daniel
Re: In-queue rejections
Daniel L. Miller put forth on 12/29/2009 2:44 AM: I believe I understand where you're headed with this - but it's NOT what I was asking! Hi Daniel, Just a quick note. It's probably not a great idea to SHOUT! at Dr. Venema, the person to whom who were replying here, and who is trying to help you. Dr. Wietse Venema, Ph.D. Physics, Groningen University, is the creator/author of Postfix. He is currently employed at IBM's Thomas J. Watson Research Center and has been for over a decade. He runs this mailing list as a free courtesy to users of Postfix. He has no obligation to do so, as neither you nor I paid for Postfix or a support contract. Please keep this in mind, and the fact that when engaging Wieste regarding a Postfix issue, you are in essence speaking to God himself. If Wietse is making a suggestion to you, he likely already knows all the angles, and there is probably a darn good reason he is suggesting something to you. In the past, I have been guilty of allowing frustration to color my posts here, but, thankfully, never in a post directly to Wietse. :) Keep a cool head. We're all on the same team here trying to help each other fix each others' Postfix problems. Best regards, -- Stan
Re: In-queue rejections
Daniel, 5F47320CEC2 4338844 Mon Dec 28 13:12:09 idiotu...@amfes.com (host mail.fireprobymesa.com[65.40.152.138] said: 550 5.1.1 User unknown (in reply to RCPT TO command)) jeff...@fireprobymesa.com Do you have soft_bounce=yes configured? (http://www.postfix.org/postconf.5.html#soft_bounce) That seems to be the reason why postfix isn't immediately bouncing the message to the sender. If you don't have a good reason to keep soft_bounce activated (and you shouldn't on a production machine), try if disabling solves your problem. -hannes
Re: In-queue rejections
On 2009-12-28 5:17 PM, Daniel L. Miller wrote: When a user mistypes a remote e-mail address (not that THAT ever happens!), the result is typically either a user unknown, invalid recipient, or host or domain not found message. At least for MY system, with MY configuration (however flawed it may be), this results in a couple messages floating in the send queue with these statuses. Periodically, I'll check for such items, notify my users of a problem, and delete them from the queue. Per the welcome message you received when you joined the list: TO REPORT A PROBLEM see: http://www.postfix.org/DEBUG_README.html#mail At a minimum, postfix version, output of postconf -n and unedited NON-verbose logs exhibiting the problem should be provided... This should provide an answer to Wietse's question as to why these are stuck in the queue when they should be returned immediately. Also, is there any e-mail interface for canceling messages? So that if a slightly more competent user actually READS the bounce message, determines that they spelled it wrong - they can tell the mail server to cancel the send? Fix the real problem (above) and this problem goes away... -- Best regards, Charles
Re: In-queue rejections
Daniel L. Miller: 5F47320CEC2 4338844 Mon Dec 28 13:12:09 idiotu...@amfes.com (host mail.fireprobymesa.com[65.40.152.138] said: 550 5.1.1 User unknown (in reply to RCPT TO command)) jeff...@fireprobymesa.com That does not seem right. You have soft_bounce turned on in main.cf or master.cf. Wietse
Re: In-queue rejections
On Dec 29, 2009, at 6:46 AM, Stan Hoeppner s...@hardwarefreak.com wrote: Daniel L. Miller put forth on 12/29/2009 2:44 AM: I believe I understand where you're headed with this - but it's NOT what I was asking! Hi Daniel, Just a quick note. It's probably not a great idea to SHOUT! at Dr. Venema, the person to whom who were replying here, and who is trying to help you. Dr. Wietse Venema, Ph.D. Physics, Groningen University, is the creator/author of Postfix. He is currently employed at IBM's Thomas J. Watson Research Center and has been for over a decade. He runs this mailing list as a free courtesy to users of Postfix. He has no obligation to do so, as neither you nor I paid for Postfix or a support contract. Please keep this in mind, and the fact that when engaging Wieste regarding a Postfix issue, you are in essence speaking to God himself. If Wietse is making a suggestion to you, he likely already knows all the angles, and there is probably a darn good reason he is suggesting something to you. In the past, I have been guilty of allowing frustration to color my posts here, but, thankfully, never in a post directly to Wietse. :) God himself? Is this a joke or are you working on some creepy, endearing biography?
Re: In-queue rejections
Sahil Tandon put forth on 12/29/2009 9:08 AM: God himself? Is this a joke or are you working on some creepy, endearing biography? http://en.wikipedia.org/wiki/Analogy According to Jewish and Christian belief, God is the creator of the universe, and is all knowing of all things in the universe. Wietse created Postfix, and is all knowing of all things within Postfix. Via analogy, Wietse is the God of Postfix. I'm quite surprised this required explanation. Maybe this frequent analogy is exclusively an American cultural thing. Michael Jordan has been called the God of basketball, Donald Trump the God of New York real estate (in the 80s anyway). It's frequently used to describe someone who is the top master of a craft, subject, sporting or business endeavor, etc. I believe Genghis Khan has been called the God of war, though I don't know if that was coined by an American or not. -- Stan
Re: In-queue rejections
On Dec 29, 2009, at 11:29 AM, Stan Hoeppner s...@hardwarefreak.com wrote: Sahil Tandon put forth on 12/29/2009 9:08 AM: God himself? Is this a joke or are you working on some creepy, endearing biography? http://en.wikipedia.org/wiki/Analogy According to Jewish and Christian belief, God is the creator of the universe, and is all knowing of all things in the universe. Wietse created Postfix, and is all knowing of all things within Postfix. Via analogy, Wietse is the God of Postfix. I'm quite surprised this required explanation. Maybe this frequent analogy is exclusively an American cultural thing. Michael Jordan has been called the God of basketball, Donald Trump the God of New York real estate (in the 80s anyway). It's frequently used to describe someone who is the top master of a craft, subject, sporting or business endeavor, etc. I believe Genghis Khan has been called the God of war, though I don't know if that was coined by an American or not. My goodness. Your idolatry (by way of analogy or otherwise) is off topic here, please stop it. And your assumptions about posters' natonality and culture also an epic fail. Finally, please leave the pedantry to the experts! Last post on this thread.
Re: In-queue rejections
Sahil Tandon: On Dec 29, 2009, at 11:29 AM, Stan Hoeppner s...@hardwarefreak.com wrote: Sahil Tandon put forth on 12/29/2009 9:08 AM: God himself? Is this a joke or are you working on some creepy, endearing biography? http://en.wikipedia.org/wiki/Analogy According to Jewish and Christian belief, God is the creator of the universe, and is all knowing of all things in the universe. Wietse created Postfix, and is all knowing of all things within Postfix. Via analogy, Wietse is the God of Postfix. I'm quite surprised this required explanation. Maybe this frequent analogy is exclusively an American cultural thing. Michael Jordan has been called the God of basketball, Donald Trump the God of New York real estate (in the 80s anyway). It's frequently used to describe someone who is the top master of a craft, subject, sporting or business endeavor, etc. I believe Genghis Khan has been called the God of war, though I don't know if that was coined by an American or not. My goodness. Your idolatry (by way of analogy or otherwise) is off topic here, please stop it. And your assumptions about posters' natonality and culture also an epic fail. Finally, please leave the pedantry to the experts! Last post on this thread. We have a cultural confusion. I think Stan's use of God does not imply adolation but rather indicates a special role (in this case with respect to Postfix). In other contexts, God implies super-human properties. Not here. Wietse
Re: In-queue rejections
Wietse Venema put forth on 12/29/2009 10:56 AM: We have a cultural confusion. I think Stan's use of God does not imply adolation but rather indicates a special role (in this case with respect to Postfix). Correct. The God analogy simply implies creator and supreme authority of the subject, in this case, Postfix, and that one should show some respect to the creator (especially the creator of the *free* software the OP relies upon). Wietse is the creator and supreme authority of Postfix. The OP was obviously unaware of this fact or his prose would have been more civil. Anyway, my apologies for causing a stir with this common analogy (common here in the states anyway). I was merely attempting to apply a little positive cluestick to the OP. -- Stan
Re: In-queue rejections
Wietse Venema wrote: Daniel L. Miller: 5F47320CEC2 4338844 Mon Dec 28 13:12:09 idiotu...@amfes.com (host mail.fireprobymesa.com[65.40.152.138] said: 550 5.1.1 User unknown (in reply to RCPT TO command)) jeff...@fireprobymesa.com That does not seem right. You have soft_bounce turned on in main.cf or master.cf. As usual - you're perfectly correct. Now...WHY did I deliberately turn on soft_bounce...? Must have been something left over from spam filter testing. So...I unreservedly withdraw my question about an e-mail interface for queue management. But...is there any provision for more advanced bounce processing? -- Daniel
Re: In-queue rejections
Daniel L. Miller: Wietse Venema wrote: Daniel L. Miller: 5F47320CEC2 4338844 Mon Dec 28 13:12:09 idiotu...@amfes.com (host mail.fireprobymesa.com[65.40.152.138] said: 550 5.1.1 User unknown (in reply to RCPT TO command)) jeff...@fireprobymesa.com That does not seem right. You have soft_bounce turned on in main.cf or master.cf. As usual - you're perfectly correct. Now...WHY did I deliberately turn on soft_bounce...? Must have been something left over from spam filter testing. So...I unreservedly withdraw my question about an e-mail interface for queue management. But...is there any provision for more advanced bounce processing? I offered a solution that allows you to set up a rule for each typo-ed recipient domain or address, but you dismissed that because you wanted something that requires no configuration. At that point it is no longer a mail server problem but a database problem, so this will have to wait until someone makes a suitable database available. Wietse
Re: In-queue rejections
Wietse Venema wrote: Daniel L. Miller: Wietse Venema wrote: Daniel L. Miller: So...I unreservedly withdraw my question about an e-mail interface for queue management. But...is there any provision for more advanced bounce processing? I offered a solution that allows you to set up a rule for each typo-ed recipient domain or address, but you dismissed that because you wanted something that requires no configuration. At that point it is no longer a mail server problem but a database problem, so this will have to wait until someone makes a suitable database available. As usual, I'm probably misunderstanding, so let me ask it a different way. I'm not looking to build a list of typos corrections for Postfix to automagically deal with idiot users. I want to provide users with more information to better allow them to understand what they did wrong. Example: 7A44F20CED3 4338053 Mon Dec 28 10:50:59 idiotu...@amfes.com (Host or domain name not found. Name service error for name=fireprotectionbymesa.com type=: Host not found) Seeing this in a bounce message (usually) means something to ME - but my users will just cross their eyes and think OUR system is broken. Instead, I would like a process that would take the above message and translate it to something more user-friendly. Something like: The message you attempted to send could not be delivered. The address you attempted to send to was u...@wrongexample.com. However, the part after the @ sign, wrongexample.com, is not a valid Internet name. Verify your spelling is correct. Otherwise, it is possible there is a problem with the computers at wrongexample.com and you may attempt to send your message again later. I do see that perhaps a table might have to be created for matching the various server responses to my user-friendly messages. But, if you consider this is at all worthwhile - how would it be implemented? Is this something that would require a change to the bounce program? Or is the potential already there - and just changing some existing settings would allow me to pipe the rejection message back through an external filter? -- Daniel
Re: In-queue rejections
Daniel L. Miller: Wietse Venema wrote: Daniel L. Miller: Wietse Venema wrote: Daniel L. Miller: So...I unreservedly withdraw my question about an e-mail interface for queue management. But...is there any provision for more advanced bounce processing? I offered a solution that allows you to set up a rule for each typo-ed recipient domain or address, but you dismissed that because you wanted something that requires no configuration. At that point it is no longer a mail server problem but a database problem, so this will have to wait until someone makes a suitable database available. As usual, I'm probably misunderstanding, so let me ask it a different way. I'm not looking to build a list of typos corrections for Postfix to automagically deal with idiot users. I want to provide users with more information to better allow them to understand what they did wrong. Example: 7A44F20CED3 4338053 Mon Dec 28 10:50:59 idiotu...@amfes.com (Host or domain name not found. Name service error for name=fireprotectionbymesa.com type=: Host not found) Seeing this in a bounce message (usually) means something to ME - but my users will just cross their eyes and think OUR system is broken. Instead, I would like a process that would take the above message and translate it to something more user-friendly. Something like: The message you attempted to send could not be delivered. The address you attempted to send to was u...@wrongexample.com. However, the part after the @ sign, wrongexample.com, is not a valid Internet name. Verify your spelling is correct. Otherwise, it is possible there is a problem with the computers at wrongexample.com and you may attempt to send your message again later. Postfix reports enhanced status codes (5.1.1 means the mailbox does not exist, etc.) in standardized non-delivery notifications. See RFC 3463 for an overview. Mail user agents can translate these standardized status codes into user-friendly text. There are good reasons why these translations should be done in MUAs (primarily, the recipient of the DSN may be in a different language zone than the MTA that sends it). Wietse
Re: In-queue rejections
Wietse Venema wrote: Daniel L. Miller: Wietse Venema wrote: Postfix reports enhanced status codes (5.1.1 means the mailbox does not exist, etc.) in standardized non-delivery notifications. See RFC 3463 for an overview. Mail user agents can translate these standardized status codes into user-friendly text. There are good reasons why these translations should be done in MUAs (primarily, the recipient of the DSN may be in a different language zone than the MTA that sends it). Getting closer. I may be using the wrong vocabulary - part of my lack of understanding of the SMTP protocol. My understanding is a MUA (for convenience, call it Thunderbird) will talk to a local MTA (Postfix, of course!) to send mail. After authentication and any other local checks, the local MTA accepts responsibility for the message - the MUA disconnects. The local MTA then attempts to send the message to the remote MTA. If successful...unless there's something else I don't know about, nothing further happens between the local MTA and MUA. If unsuccessful, and idiot OP's like me don't have soft_bounce enabled, the MTA will generate a bounce message and send it to the sender's address, and cancel the send. If the above is anywhere near reality - then where is the interaction between MUA and MTA for the bounce message status codes? I'm seeing an SMTP connection for the initial send operation, followed by a message retrieval by the mail reader (which doesn't necessarily have to be the same program that sent the message originally). Is the mail reader supposed to locate the enhanced status code in the message body and translate it? -- Daniel
Re: In-queue rejections
Daniel L. Miller: Wietse Venema wrote: Daniel L. Miller: Wietse Venema wrote: Postfix reports enhanced status codes (5.1.1 means the mailbox does not exist, etc.) in standardized non-delivery notifications. See RFC 3463 for an overview. Mail user agents can translate these standardized status codes into user-friendly text. There are good reasons why these translations should be done in MUAs (primarily, the recipient of the DSN may be in a different language zone than the MTA that sends it). Getting closer. I may be using the wrong vocabulary - part of my lack of understanding of the SMTP protocol. Enhanced status codes show up in two places: 1) In SMTP server responses (550 5.1.1 User unknown). If the SMTP client loses this information there is nothing we can do to improve the user's experience. 2) In delivery status notifications. As defined in RFC 3462, these notifications consist of three parts: a) Free text (This is the mail system at foo.example.com). b) Structured text with enhanced status codes etc. c) The headers (and perhaps body) of the undelivered message. RFC 3464 describes the formatting details of 2). Wietse
In-queue rejections
I don't know what the correct terminology is for my question - please adjust my wording as needed. When a user mistypes a remote e-mail address (not that THAT ever happens!), the result is typically either a user unknown, invalid recipient, or host or domain not found message. At least for MY system, with MY configuration (however flawed it may be), this results in a couple messages floating in the send queue with these statuses. Periodically, I'll check for such items, notify my users of a problem, and delete them from the queue. I do have a bounce_template_file, and I've TRIED to make it a bit more informative - but my users still cross their eyes and call me and complain that OUR mail server is broken! Is there a more advanced option that can give individual messages instead of a generic bounce message? Something that might parse the rejection and give specific advice to the computer illiterate? Also, is there any e-mail interface for canceling messages? So that if a slightly more competent user actually READS the bounce message, determines that they spelled it wrong - they can tell the mail server to cancel the send? -- Daniel
Re: In-queue rejections
Daniel L. Miller: [ Charset ISO-8859-1 unsupported, converting... ] I don't know what the correct terminology is for my question - please adjust my wording as needed. When a user mistypes a remote e-mail address (not that THAT ever happens!), the result is typically either a user unknown, invalid recipient, or host or domain not found message. At least for MY Um, why is user unknown mail stuck in your queue? It should be returned as soon as Postfix finds out. system, with MY configuration (however flawed it may be), this results in a couple messages floating in the send queue with these statuses. Periodically, I'll check for such items, notify my users of a problem, and delete them from the queue. I do have a bounce_template_file, and I've TRIED to make it a bit more informative - but my users still cross their eyes and call me and complain that OUR mail server is broken! Is there a more advanced option that can give individual messages instead of a generic bounce message? Something that might parse the rejection and give specific advice to the computer illiterate? This option is called transport(5) (and involves setting up specific rules for specific RECIPIENT addresses or domains). But I don't recommend that you do this. Also, is there any e-mail interface for canceling messages? So that if a slightly more competent user actually READS the bounce message, determines that they spelled it wrong - they can tell the mail server to cancel the send? Again, why is user unknown mail stuck in your queue anyway? It should be returned as soon as Postfix finds out. Wietse
Re: In-queue rejections
On Mon, 28 Dec 2009, Daniel L. Miller wrote: I don't know what the correct terminology is for my question - please adjust my wording as needed. When a user mistypes a remote e-mail address (not that THAT ever happens!), the result is typically either a user unknown, invalid recipient, or host or domain not found message. At least for MY system, with MY configuration (however flawed it may be), this results in a couple messages floating in the send queue with these statuses. Periodically, I'll check for such items, notify my users of a problem, and delete them from the queue. I do have a bounce_template_file, and I've TRIED to make it a bit more informative - but my users still cross their eyes and call me and complain that OUR mail server is broken! Is there a more advanced option that can give individual messages instead of a generic bounce message? Something that might parse the rejection and give specific advice to the computer illiterate? When you notice a mis-spelled domain name, you can tweak transport_maps to route mail for that domain to the error transport with a custom error message that might, on the margin, but more informative than the default. It is unlikely that this more informative message will actually be read by the end user, but you can try. See this list's archives for examples on transport_maps and the error transport. -- Sahil Tandon sa...@tandon.net