为提升您的使用体验,本站正在维护,部分功能暂时无法使用。如果本站文章无法解决您的问题,您想要向社区提问的话,请到 Twitter 上的 @FirefoxSupport 或 Reddit 上的 /r/firefox 提问,我们的支持社区将会很快回复您的疑问。

搜索 | 用户支持

防范以用户支持为名的诈骗。我们绝对不会要求您拨打电话或发送短信,及提供任何个人信息。请使用“举报滥用”选项报告涉及违规的行为。

详细了解

Set SMTP password separate from account password

  • 15 个回答
  • 1 人有此问题
  • 1 次查看
  • 最后回复者为 ichernev

more options

I have a gmail account that was correctly setup with Thunderbird. Later I decided to get an own email+domain, so I setup forwardemail.net for incoming (redirecting to gmail), and mailgun.com for outgoing on the newly created domain.

Connecting the SMTP mailgun to gmail took 5 seconds, entering the server, port, username and password. In thunderbird however I can't set the password (I can just choose Authentication: Normal Password). So every time I try to send an email I get:

"Sending of the message failed. The message could not be sent because the connection to Outgoing server (SMTP) smtp.eu.mailgun.org was lost in the middle of the transaction. Try again."

Under tools > security > password I can't manually add a password for this server, so I'm out of options. Is there a way to manually insert the password (command line, sqlite etc), into the saved password so it takes it from there? I can change the actual password, but I can't choose it (only reset it), so I can't make it match another password (the one thunderbird is using, if any).

I have a gmail account that was correctly setup with Thunderbird. Later I decided to get an own email+domain, so I setup forwardemail.net for incoming (redirecting to gmail), and mailgun.com for outgoing on the newly created domain. Connecting the SMTP mailgun to gmail took 5 seconds, entering the server, port, username and password. In thunderbird however I can't set the password (I can just choose Authentication: Normal Password). So every time I try to send an email I get: "Sending of the message failed. The message could not be sent because the connection to Outgoing server (SMTP) smtp.eu.mailgun.org was lost in the middle of the transaction. Try again." Under tools > security > password I can't manually add a password for this server, so I'm out of options. Is there a way to manually insert the password (command line, sqlite etc), into the saved password so it takes it from there? I can change the actual password, but I can't choose it (only reset it), so I can't make it match another password (the one thunderbird is using, if any).

所有回复 (15)

more options

When you initially setup the Gmail account in Thunderbird, a Gmail SMTP server was added and automatically associated with that account. A password entry was added to Tbird’s saved passwords for the Gmail SMTP server, separate from the incoming server’s password entry even though the password is the same. Now that you don’t wish to use the Gmail SMTP server anymore, you can delete it from Account Settings, add the new SMTP server you want to use and associate it with your Gmail account in Tbird. You can then delete the password entry of the Gmail SMTP server from Tbird’s saved passwords. When you try to send mail using the new non-Gmail SMTP server, Tbird will start the connection with the server, prompting you for the password to authenticate with that server. It will then save this password for you. You don’t need to manually add an entry in saved passwords.

To add your new SMTP server, go to Tools > Account Settings. In the left pane of the Account Settings tab, at the bottom of the list, click the Outgoing Server (SMTP) section. In the main pane, you will see a list of SMTP servers that are currently saved in Tbird. Click the Add button to add your new SMTP server. I recommend you set SSL/TLS and Normal Password as the connection security and authentication method respectively, unless your new SMTP server requires different settings. The rest of the options should be straightforward. When finished, click OK to save your new SMTP server, which should now appear in the list. You can then remove the Gmail SMTP server.

To associate the new SMTP server with your Gmail account in Tbird, select your account in the left pane of the Account Settings tab then scroll to the very bottom of the main pane. There, you will see the field for setting the SMTP server that your account should use. In the drop-down list, you will see your new SMTP server. Select it, then close the Account Settings tab.

Open Saved Passwords and delete the entry for the Gmail SMTP server that was removed earlier. Compose a test message and send it. You will get the password prompt for the new SMTP server. It should be a straight shot from there going forward.

more options

Well, this is almost what I did, with the exception, that I didn't delete the old gmail SMTP server, because I want to be able to send both as my gmail account and as my new account, until everything is properly switched (probably will take years). I do have the 2 identities configured (under Manage Identities), each with their own SMTP server. I stand to reason that sending via multiple identites (selectable during composing) via different SMTP servers should work as expected.

One thing that is confusing, is that under Account Settings, there is "Outgoing Server (SMTP)" with a dropdown, and then each identity has it's own SMTP server dropdown, so why there is a dropdown in the first place... But whichever way I select in the "global" dropdown, it doesn't work. I'm afraid that if I delete my gmail smtp password/SMTP server I won't be able to add it back up.

more options

ichernev said

Well, this is almost what I did, with the exception, that I didn't delete the old gmail SMTP server, because I want to be able to send both as my gmail account and as my new account, until everything is properly switched (probably will take years). I do have the 2 identities configured (under Manage Identities), each with their own SMTP server. I stand to reason that sending via multiple identites (selectable during composing) via different SMTP servers should work as expected.

That little piece of information could have spared me all that writing!

One thing that is confusing, is that under Account Settings, there is "Outgoing Server (SMTP)" with a dropdown, and then each identity has it's own SMTP server dropdown, so why there is a dropdown in the first place... But whichever way I select in the "global" dropdown, it doesn't work. I'm afraid that if I delete my gmail smtp password/SMTP server I won't be able to add it back up.

Not everyone uses multiple identities in Thunderbird, so that "global" dropdown is for the default identity which every account has.

Are you using a VPN? I don't think the loss of connection has anything to do with the password.

more options

> That little piece of information could have spared me all that writing!

I'm sorry, I try to keep the initial "question" terse, otherwise it will be 5 pages and no one will read it.

> Not everyone uses multiple identities in Thunderbird, so that "global" dropdown is for the default identity which every account has.

So it is across accounts, not across identities? I guess that means that the per-identity SMTP server takes precedence.

> Are you using a VPN? I don't think the loss of connection has anything to do with the password.

No, I'm not using a VPN.

Is there something similar to firefox network analyzer, where you can check what servers are contacted. Maybe an env var to set? Or I have to recompile? What I'm baffled with is that it never ever asked for a password, and I feel it doesn't even try to connect (or fails early, because there is no password set in the password manager?).

more options

I think that if there is no password saved on TB then it will ask when it connect to the mail server... Far as I saw on the last days here, there are some same questions ref "connection" to a mail server - and many persons mention that they are not asked for the pass also even if they delete it from TB. This kind of means, IMO, that TB can not even connect to the server (or it connect on some "other" protocol) so the workflow of the connection stop somewhere...

I did not and I don't have these issues (I've updated, downgraded, installed a fresh version of v78) so all above are my assumptions. You might try to see what TB report after you click on "get mail" in the tools - activity manager. I assume there should be something about the "failure"...

由svlad2009于修改

more options

ichernev said

I'm sorry, I try to keep the initial "question" terse, otherwise it will be 5 pages and no one will read it.

On the contrary, details are good when asking for help in such forums as long as they are relevant. Keeping it terse only adds to the number of posts and nothing else. I tend to skip one-liner or terse thread starters because they paint a picture of the OP being lazy or not bothered enough to express their problem comprehensively. A beefy thread starter (as long as it's not a rant) get's me hooked and compelled to assist, and subsequently, I tend to take my time to extensively research the problem and compose an equally comprehensive response. It shouldn't take 5 pages to clearly and fully describe the problem you're facing and what you've already tried to fix it.

> Not everyone uses multiple identities in Thunderbird, so that "global" dropdown is for the default identity which every account has. So it is across accounts, not across identities? I guess that means that the per-identity SMTP server takes precedence.

It is neither across accounts nor identities, because each identity has and always uses its own SMTP server. It is for the default identinty of an account. Each account in Tbird MUST have a default identity associated with it. This default identity is created automatically using the details you provide to the account setup wizard. If you open Account Settings, you are immediately presented with the details of the default identity of that account. There literally is a heading that states "Default Identity" under which there are details for that identity. When you add a new identity, the SMTP server that is selected in the "global" dropdown is pre-selected for the new identity, UNTIL you set it to a different one. I guess you could say it is across identities IF you don't select a different one while adding or editing an identity.

Is there something similar to firefox network analyzer, where you can check what servers are contacted. Maybe an env var to set? Or I have to recompile? What I'm baffled with is that it never ever asked for a password, and I feel it doesn't even try to connect (or fails early, because there is no password set in the password manager?).

Sure, you can use the Tools > Developer Tools > Developer Toolbox or Ctrl + Shift + I keyboard shortcut to access the same facility.

more options

> click on "get mail" in the tools - activity manager

I found developer tools, but nothing shows up when I click "Send". SMTP is for sending mail only, not for retrieving. I'm forwarding it to my gmail for the moment, and fetching those emails works (as before).

The only thing in the error console I see after I try to send via my "bad" SMTP is

   NS_ERROR_UNEXPECTED: Component returned failure code: 0x8000ffff (NS_ERROR_UNEXPECTED) [nsIMsgMailNewsUrl.server]

which is not very descriptive.

After you mentioned v78. I'm on version 68 (arch linux), because of a tweet to delay linux distributions packaging 78 before 78.2. I hope I'll get to test 78 soon. So there are fixes in 78 for this connection issues?

more options

What happens when you just use your domain/email hosting provider's own SMTP server instead of Mailgun's? You can also use Gmail's SMTP server and use your custom email as the From address as long as you add it to Gmail as a send "from" address.

more options

ichernev said

> click on "get mail" in the tools - activity manager I found developer tools,

I meant the activity manager marked on attached screenshot

more options

There is a very brief flash of something in the empty window, but then the error message shows up and there is nothing in the activity manager.

more options

Stans said

ichernev said

I'm sorry, I try to keep the initial "question" terse, otherwise it will be 5 pages and no one will read it.

On the contrary, details are good when asking for help in such forums as long as they are relevant. Keeping it terse only adds to the number of posts and nothing else. I tend to skip one-liner or terse thread starters because they paint a picture of the OP being lazy or not bothered enough to express their problem comprehensively. A beefy thread starter (as long as it's not a rant) get's me hooked and compelled to assist, and subsequently, I tend to take my time to extensively research the problem and compose an equally comprehensive response. It shouldn't take 5 pages to clearly and fully describe the problem you're facing and what you've already tried to fix it.

Well, my understanding about the issue has changed once I posted it, I also did a lot of trial-and-error before I reached the end state, and I didn't record all of my steps, so explaining how I tried 5 times would not help, esp when I can't even describe in great details.

In any case the fact that there is no password field hinted that TB only allows one password per account (the one I entered long ago), and that is why I worded my question accordingly.

Stans said

> Not everyone uses multiple identities in Thunderbird, so that "global" dropdown is for the default identity which every account has. So it is across accounts, not across identities? I guess that means that the per-identity SMTP server takes precedence.

It is neither across accounts nor identities, because each identity has and always uses its own SMTP server. It is for the default identinty of an account. Each account in Tbird MUST have a default identity associated with it. This default identity is created automatically using the details you provide to the account setup wizard. If you open Account Settings, you are immediately presented with the details of the default identity of that account. There literally is a heading that states "Default Identity" under which there are details for that identity. When you add a new identity, the SMTP server that is selected in the "global" dropdown is pre-selected for the new identity, UNTIL you set it to a different one. I guess you could say it is across identities IF you don't select a different one while adding or editing an identity.

Oh, I see, thank you for the detailed explanation. I do not thing that fiddling with the default identity's default SMTP server will do the trick, because I've already selected the right SMTP server for each identity.

Stans said

Is there something similar to firefox network analyzer, where you can check what servers are contacted. Maybe an env var to set? Or I have to recompile? What I'm baffled with is that it never ever asked for a password, and I feel it doesn't even try to connect (or fails early, because there is no password set in the password manager?).

Sure, you can use the Tools > Developer Tools > Developer Toolbox or Ctrl + Shift + I keyboard shortcut to access the same facility.

I looked there, there is absolutely nothing, during a failed mail send.

The only other thing I can think of that might cause issues, is the fact that the username contains '@', so if, for some reason TB builds a URI string like PROTO://USER:PASS@HOST:PORT, then it won't quite work due to the @ in the username.

more options

Stans said

What happens when you just use your domain/email hosting provider's own SMTP server instead of Mailgun's? You can also use Gmail's SMTP server and use your custom email as the From address as long as you add it to Gmail as a send "from" address.

I use namecheap, and they only have paid email plans (with a free trial, yes). Is there another provider that is known to work with TB. mailgun has a free tier, and I'm sending very few emails anyway, so I don't care much about the sending server, as long as it works with TB...

I know about the gmail option, but it adds the "via gmail" to the sender, which is not ideal.

I was hoping the most advanced open source desktop mail client can handle some basic SMTP credentials :)

I can create some spare credentials in mailgun and share here if someone wants to test it for himself.

more options

Share the test credentials via Private Messaging (PM) so I can try and reproduce your problem.

more options

I received the test credentials (post****) and successfully sent two messages via Mailgun SMTP as "post****". In the second message, I attached screenshots for proof. Success in both Tbird 68 and 78. In both cases, Tbird automatically prompted for the password as soon as I hit Send. Port 465 with SSL and Normal Password authentication. In the first messages I Cc'd the sending address "post****" and in the second, I Cc'ed your "me****" address and Bcc'd the sending "post****" address.

more options

Stans said

I received the test credentials (post****) and successfully sent two messages via Mailgun SMTP as "post****". In the second message, I attached screenshots for proof. Success in both Tbird 68 and 78. In both cases, Tbird automatically prompted for the password as soon as I hit Send. Port 465 with SSL and Normal Password authentication. In the first messages I Cc'd the sending address "post****" and in the second, I Cc'ed your "me****" address and Bcc'd the sending "post****" address.

Well, after I nuked my ~/.thunderbird folder, and set up everything again, it worked. Then I moved my ImapEmail folder from the old profile folder, and I even avoided the lengthy sync.

So there was something seriously messed up with my configuration. The only weird thing I remember is I modified the gmail SMTP initially into the Mailgun SMTP, but since then I recreated the SMTP server multiple times, so I doubt this as an issue.

Anyway, thank you so much for the help! Let me know if I should scavenge something from my old ~/.thunderbird folder if some dev wants to figure out why it was messed up to begin with.