#220 new
Bill Cole

No way to specify sending server

Reported by Bill Cole | January 20th, 2012 @ 05:07 PM

Background: I use patterned (akin to "tagged") ad hoc addresses in my own domain for different uses, with a unique address in a subdomain for every mailing list I am subscribed to and a different address for every business that I give an address to. Because my mail system recognizes those addresses based on patterns, I don't need to tell the server about each one and I have a very large collection of addresses that I may get mail at. My authentication username for my own mail server is not easily recognized as related to the patterned ad hoc addresses. I also have accounts in other mail systems, including GMail and MobileMe. I use MailMate on 2 different Macs with slight variations in their configuration, with both running 1.4r2651

Problem: When replying to a mailing list this morning, MM correctly determined the ad hoc sender address for my new message, but when I tried to send the message it failed with an odd error message about a bad sender address. When I used the Activity Window to investigate, the reason for the failure was made clear: MailMate was trying to send the message out via the SMTP server for my MobileMe account, rather than through the one set up for my local mail system. This failed because MobileMe (reasonably) restricts SMTP sender addresses. I can find no way to tell MM to send a message via a specific SMTP server. Strangely, I was able to work around this by closing MM on that computer and using my other one to open the message from the Drafts folder (which was the right one, i.e. on my local mail system) and sending it.

Proposed fix: Making a reliably better guess for how to send messages would be adequate, but ideally there would be some UI for specifying which outbound path to use for each message. Clearly the default should be to associate replies with the mail account of the message being replied to and to use the SMTP server set up for that account, but it can also be useful in some circumstances to be able to switch to another SMTP server in special circumstances. For example, if I take my laptop traveling I could find myself connected to a restrictive network where I cannot get to the SMTP servers I normally use via port 25 but can get to my own server that handles port 587 submission and will let me send with any address once authenticated. With SMTP servers tightly bound to mail retrieval accounts, this would be cumbersome. See Thunderbird and Mail.app for examples of good approaches to this issue.

Comments and changes to this ticket

  • benny

    benny January 24th, 2012 @ 01:21 PM

    • State changed from “new” to “accepted”

    There are two issues here. The first one is a bug where MailMate uses the wrong SMTP settings. I have fixed that now, so that should not be an issue.

    The other issue is the lack of any way to easily switch between SMTP servers. I think a solution for this should include that MailMate automatically retries with alternative SMTP servers when the main one fails. In your example it should have the effect that you would never have to explicitly select an SMTP server. For example, MailMate should initially try the primary SMTP server (configured for the IMAP account) and if it fails then it should try the SMTP servers of other accounts. It should also cache the success/failure of the primary server (for some limited time, e.g., until a sleep/wake cycle).

    If something like the above is implemented, it should be combined with an account setting which states whether or not MailMate is allowed to use an alternative SMTP server.

    This does not rule out the possibility of implementing an SMTP server popup in the account settings and/or the composer window -- or maybe in the “Retry” requester when sending fails. But the main priority is avoid a requester if possible.

  • Bill Cole

    Bill Cole January 24th, 2012 @ 03:54 PM

    I think that an automated process of sending mail by whatever outbound path is available would be an exceedingly ill-conceived misfeature.

    In my own case: the policies and practices of the various mail servers by which I submit different classes of email are diverse, not entirely rational, not entirely self-consistent on a per-server or per-identity basis, and not readily expressed in compact discrete terms. In some cases it would be technically easy to violate policies which are not enforced by software but are policed ex post facto by people who are rewarded for humorless rigidity in their enforcement. In other cases a poor match of sending identity to submission server could create a significant chance of programmatic silent discarding of mail. I have 8 accounts currently configured in MailMate using 7 unique outbound mail servers, and no 2 identities or servers merit identical handling. If I were to detail all of the "rules" I follow, words and phrases like "usually" and "maybe" and "in special circumstances" would be needed. I don't expect a MUA to do any better than have a default path for an identity and allow me to override that association as needed.

    That is why I think that MUA selection of an outbound mail server must have an explicit UI and should not attempt to work in magical (i.e. uncontrollable and undocumented) ways. Having a menu to select the outbound server available in the message compose window that defaults to the server of the sending identity (as with Mail.app or TBird's "Virtual Identity" add-on) is adequate and simple. Assuming simplicity in how people might want or need to route mail won't work well and trying to map all of the real-world complexities into a subtle and complete configuration model is probably a hopeless task.

  • Malte Tancred

    Malte Tancred January 24th, 2012 @ 08:09 PM

    I agree with Bill here. I find the strategy employed by Apple's Mail.app quite sensible: try the default server for the account. If it fails, ask the user if she wants to try again, try with another server or postpone sending.

    This could be the strategy even if there were a server popup in the composer.

  • Vincent Noel

    Vincent Noel February 22nd, 2012 @ 04:40 PM

    For reference, here is how Apple Mail lets the user select any configured SMTP server, no matter which address is used as "from:" (see attached screenshot). Basically the choice of from address and smtp server are totally disconnected and orthogonal choices.

    I think resolving this ticket would also cover the use case described in ticket #209.

  • infotexture

    infotexture January 9th, 2013 @ 03:23 PM

    The ability to select an alternative SMTP server would also be useful for scenarios in which users forward several e-mail addresses to single IMAP account and need to reply with the correct identity, which may require a different SMTP server than that associated with the receiving IMAP account.

    It would be helpful if MailMate allowed the creation of send-only (SMTP) accounts and provided a means to associate these with an address, or at least permit the selection of an alternative SMTP server (as suggested above) if the message cannot be sent via the primary SMTP server.

    Also, some forwarded addresses may be POP-only, which means that creating an extra IMAP account just to define a new SMTP server wouldn't work.

  • Ricardson Williams

    Ricardson Williams August 31st, 2013 @ 04:20 AM

    When we have this feature? I just configure my new business account to forward to GMAIL and in Gmail Interface I already setup a new SMTP and Alias for my Business account so when I send I can choose which one I will use my real account or my Alias Business account with Different SMTP, I don't want come back to Apple Mail really.. :)


  • benny

    benny August 31st, 2013 @ 10:22 AM

    @infotexture: Thanks for yet another aspect of SMTP settings I should keep in mind when I have time to improve this.

    @Ricardson: Gmail allows you setup additional addresses for an account, but you must verify that you “own” them. I think this is where it is described: http://support.google.com/a/bin/answer.py?hl=en&answer=22370

  • Amy Rich

    Amy Rich July 9th, 2014 @ 05:32 PM

    I've have MailMate 3905 on an OS X 10.8 machine (it claims to be the latest version) and set up imap/smtp access for both gmail and my corporate account. When I attempt to send email out using my corporate address, it tries to use the SMTP connection to gmail.com. This obviously doesn't work since gmail doesn't allow relaying.

    This ticket seems to indicate that particular bug was fixed some time ago, but I'm still running into it now. How can I force the SMTP server to the correct host, since it's not picking that up from the selected "From" address?

  • benny

    benny July 10th, 2014 @ 09:40 AM

    @Amy: You should check that you have the correct SMTP settings for each of the IMAP accounts. Go to “File ▸ Edit IMAP Account ▸ ...” to do this.

    Unrelated to this problem, r3905 is the latest public release, but there is also a beta available on the homepage.

    Let me know if you still cannot make it work.

  • Amy Rich

    Amy Rich July 24th, 2014 @ 02:56 PM

    Augh, my apologies, apparently we changed our mail config to use 465. Setting the port number fixed the problem.

  • Dmitry

    Dmitry April 3rd, 2015 @ 01:43 AM

    Any news on this?
    That's the only thing that stops me from making Mailmate my primary email client.

  • benny

    benny April 4th, 2015 @ 10:49 AM

    @Dmitry: Sorry, no news yet and it's still not near the top of my list. It's not requested very often, but it's one of those features that should be provided by a power user email client. I think it's actually possible to implicitly force MailMate to use a different SMTP server. This can be done by moving a draft to the Draft mailbox of the corresponding IMAP account before sending (I haven't verified this).

  • m (at rkw)

    m (at rkw) June 4th, 2015 @ 08:05 PM

    I'd like to add my support for this feature, although my requirement is slightly different. I have one IMAP account configured in MailMate, but when replying from one of my identities I'd like it to use an alternative SMTP server. I can't see any way to do this at present.

    The reason I want this is because I use getmail to retrieve messages from some external accounts and pull them into my maildir, and if I send replies through my own SMTP server then the third party system doesn't have a copy in its "Sent" folder. It would be really cool if someday we could have custom rules that determine which outbound SMTP server to use.

    Shame MailMate isn't open source or I'd have a go at implementing it myself :)

  • fnurl

    fnurl June 20th, 2015 @ 08:59 AM

    Hi, I just wanted to add my vote for multiple SMTP servers per account. Here are my use-cases:

    • I need to switch SMTP-servers to be able to redirect email (send as another user)
    • I need to switch SMTP-servers when replying as another identity (multiple email addresses are forwarded to a single email address for reading)
  • benny

    benny January 15th, 2016 @ 08:54 PM

    See this this mailing list post for a solution to some of these problems.

  • Steve Fenwick

    Steve Fenwick September 16th, 2023 @ 10:34 PM

    • State changed from “accepted” to “new”

    I am literally having the original problem (MM sending to MobileMe servers by default) in a different bug I just posted.

Please Sign in or create a free account to add a new ticket.

With your very own profile, you can contribute to projects, track your activity, watch tickets, receive and update tickets through your email and much more.

New-ticket Create new ticket

Create your profile

Help contribute to this project by taking a few moments to create your personal profile. Create your profile ยป

Mac OS X email client.

Shared Ticket Bins

People watching this ticket

Referenced by