Email link broken in Firefox 62 for Yahoo Mail - produces blank msg; does not insert subject and link
I have been using using the "Email a link to this page" feature for a long time (previously it was Share page feature I believe) and have correctly setup the mailto: in preferences to use Yahoo Mail. Recently in Firefox 62, the feature now only starts up the Compose mail function for Yahoo Mail but the message is blank. Previously it had automatically inserted the Subject with page title and body with page url.
I've tested in both Linux and Windows, with all add-ons disabled and the behavior is the same.
Valittu ratkaisu
Okay, this would be easier, it's a script that grabs the title, URL and any currently selected text in the page and sends them to the currently working Yahoo mail "compose" URL. You would save it on your Bookmarks Toolbar or Bookmarks Menu as a "bookmarklet". When you click it, it runs the script. You can get it here:
https://www.jeffersonscher.com/res/sumomarklets.html#ymlink
Unfortunately, the selected text loses its format, so that extra feature may not be so useful. If you try it, let me know how it goes for you.
This is the script:
var sel=window.getSelection(); var text=''; if(!sel.isCollapsed){ text=sel.toString(); text=text.replace(/^\s*$/,'').replace(/\r/g,'\r').replace(/\n/g,'\n').replace(/^\s+|\s+$/g,' '); text=' \n\n'+text.replace(new RegExp(/\u2019/g),'\'').replace(new RegExp(/\u201A/g),',').replace(new RegExp(/\u201B/g),'\''); } window.open('https://compose.mail.yahoo.com/mailto:?subject='+encodeURIComponent(document.title)+'&body='+encodeURIComponent(window.location.href)+encodeURIComponent(text)+'');
Lue tämä vastaus kontekstissaan 👍 1Kaikki vastaukset (19)
I don't usually use Yahoo mail, but when I test it out, I see what you mean.
The standard "mailto" address for Yahoo is:
https://compose.mail.yahoo.com/?To=%s
For this page, Firefox's Email Link feature generates the following request (replacing the placeholder %s with details for the message):
I don't know if Firefox changed, or if Yahoo doesn't like that any more, but either way, this would work:
So it would work if the standard address was shortened to:
https://compose.mail.yahoo.com/%s
It is an option to try to modify the file where this is stored (handlers.json), or you could try adding a new mailto handler in addition to the built-in one. I have to leave the keyboard, but will reply further later today.
Hmm, unfortunately, I don't see an "easy" way to do this. (Easy is relative, but running a command in a little window would be easier than what I'm going to describe here.)
It is possible to edit the handlers.json file which stores the download actions, and if the file becomes corrupted, you can remove it and have Firefox create a new one so it's not fatal. Nevertheless, you might want to create a backup as mentioned in the following "step by step".
The following mentions Windows several times; I would appreciate learning about any corrections for Linux.
(A) Open your current Firefox profile folder from the Troubleshooting Information page. Either
- "3-bar" menu button > "?" Help > Troubleshooting Information
- (menu bar) Help > Troubleshooting Information
- type or paste about:support in the address bar and press Enter/Return
In the first table on the page, on the Profile Folder row, click the "Open Folder" / "Open Directory" button. This should launch a new window listing various files and folders in Windows Explorer (or your system's file browser).
Scroll down to where handlers.json is listed and pause in this area.
(B) Leaving that window open, switch back to Firefox and Exit, either:
- "3-bar" menu button > Exit (or Quit)
- (menu bar) File > Exit (or Quit)
Pause while Firefox finishes its cleanup before proceeding.
(C) Optional: Create a backup copy of handlers.json
In your profile folder, right-click handlers.json and click Copy. Then press Ctrl+v to paste and Windows should create a backup for you (handlers - Copy.json) next to the existing file or at the bottom of the list.
(D) Open handlers.json in a text editor
The easiest method for this will vary. For example:
(i) Open the Notepad program first, then drag and drop handlers.json into the empty body of Notepad to open it.
(ii) Right-click handlers.json > Open With and then select Notepad (or your favorite text editor) as the program to view/edit handlers.json.
Be careful not to use a program that will want to make permanent changes to the format of the file or it will be unusable. It should stay in a "plain text" format.
(E) Edit 4 characters out of the Yahoo URL
On Notepad's Format menu, enable Word Wrap if you can't see all of the text. Then find:
https://compose.mail.yahoo.com/?To=%s
Remove the bolded part:
https://compose.mail.yahoo.com/?To=%s
so the URL now looks like this:
https://compose.mail.yahoo.com/%s
Before saving, turn off Word Wrap to avoid adding any new line breaks into the file. Then File > Save the document and File > Exit from Notepad.
(F) Start Firefox back up again.
Now when email addresses or subject/body are sent to Yahoo mail, it should be able to "handle" them correctly.
Valittu ratkaisu
Okay, this would be easier, it's a script that grabs the title, URL and any currently selected text in the page and sends them to the currently working Yahoo mail "compose" URL. You would save it on your Bookmarks Toolbar or Bookmarks Menu as a "bookmarklet". When you click it, it runs the script. You can get it here:
https://www.jeffersonscher.com/res/sumomarklets.html#ymlink
Unfortunately, the selected text loses its format, so that extra feature may not be so useful. If you try it, let me know how it goes for you.
This is the script:
var sel=window.getSelection(); var text=''; if(!sel.isCollapsed){ text=sel.toString(); text=text.replace(/^\s*$/,'').replace(/\r/g,'\r').replace(/\n/g,'\n').replace(/^\s+|\s+$/g,' '); text=' \n\n'+text.replace(new RegExp(/\u2019/g),'\'').replace(new RegExp(/\u201A/g),',').replace(new RegExp(/\u201B/g),'\''); } window.open('https://compose.mail.yahoo.com/mailto:?subject='+encodeURIComponent(document.title)+'&body='+encodeURIComponent(window.location.href)+encodeURIComponent(text)+'');
Muokattu
@ jscher2000 Thanks a lot for the quick reply with all the detailed info.
Your bookmark method works and so does the url syntax but somehow, when I tried to manually change the mail handler for yahoo to
https://compose.mail.yahoo.com/%s
in handlers.json as well as in user.prefs via about:config:
gecko.handlerService.schemes.mailto.0.uriTemplate
it doesn't work and starts with a blank new compose email. I really appreciate the effort in the bookmark script, but I personally would prefer the protocol handler method since it's more convenient for me.
It's strange because if I change the value to
https://compose.mail.yahoo.com/mailto:?body=%s
then it does start a new email with the body filled out with the %s expanded to what you mentioned.
Muokattu
I didn't notice any effect of changing the preference in about:config.
Changing handlers.json did work for me, but it's always possible that something changed on Yahoo's side since my testing.
Welp, I tried everything I can to get the direct editing of handler.json method to work, including trying on Linux this time and starting a new profile with no add-ons but still no luck. It seems on my end, firefox does not handle expanding the "../%s" by itself if it's immediately following the "https://compose.mail.yahoo.com/"
The actually url parameters yahoo uses didn't change, so your expansion still works.
Also, thank you for filing an official mozilla bug https://bugzilla.mozilla.org/show_bug.cgi?id=1494105
Anyways, I marked the bookmark workaround as a solution.
I'm using Firefox Quantum 63.0.1. I have Yahoo mail set as my default mailto client. When I click on a mailto link on a website, a blank yahoo compose email opens in a new tab, but there is no "to" address and no subject. I've tried some of these recommendations, and nothing is working. Any suggestions?
Just tell me what to change in Handlers or anywhere else and I'll gladly do that. I've tried changing the handler to just %s, and that didn't work. Help, please. But be specific about any changes you might recommend.
Muokattu
Hi klgrube, I don't know what address Yahoo wants now. It's very frustrating. I can try to look at it tonight.
Thank you very much.
I'm using the "new" Yahoo mail, not the classic, but I don't think the classic is working, either.
Firefox replaces the %s parameter in the handler URL with an encoded version of the link:
ORIGINAL LINK: mailto:bob@example.com
ENCODED LINK: mailto%3Abob%40example.com
I don't see a URL that makes Yahoo accept that currently. So for example, this doesn't work --
FAIL: https://mrd.mail.yahoo.com/compose/?to=mailto%3Abob%40example.com
But if you were to remove the mailto: (mailto%3A) it works --
WORKS: https://mrd.mail.yahoo.com/compose/?to=bob%40example.com
That doesn't really help with the built-in feature. Yahoo needs to restore support for Firefox's format, or you need to use an add-on or other workaround.
I'm using Firefox Quantum 63.0.3 on my desktop PC. I have Yahoo mail set as my default mailto client. When I click on a mailto link on a website, a blank Yahoo compose email opens in a new tab, but there is no "to" address and no subject (see attached screen shot).
This happens on all the websites I go to on Firefox on my PC. I checked on my android phone (Samsung), where I also use Yahoo for email, and I did not have the problem. The phone uses a Samsung browser. When I clicked on an email address in a website, a blank Yahoo compose mail opened with the address in the "to" line as it is supposed to be.
I also checked it on my Kindle Fire, which uses Silk browser and the Yahoo Mail app. Again, the compose email screen came up with the address in the "to" line.
So the problem seems to be something that has happened with recent Firefox updates. It is not working right with Yahoo mailto setting.
All of those fixes listed so far make no sense, unless a person is highly technical. Even so, I don't see that any of them worked.
P.S. screen shot wouldn't load, but it was a blank Yahoo email page.
Hi JudyPanama, yes, someone is going to reach out to Yahoo and ask them to restore support for the method built into Firefox. No idea what the timeline is getting it fixed.
I did reach out to them. I opened a customer service support case and keep bugging them about every few days. Here's their latest response:
Hi Karen,
Thanks for getting back to us.
I'm sorry, but it's taking longer than we expected to fix this. Rest assured, we’re focused on getting this corrected for you.
There are several factors that go into resolving this type of issue including diagnosing, troubleshooting, and implementing the fix. As such, we're unable to provide an estimated time for when this issue will be resolved.
We appreciate your continued patience while we work to get this fixed as quickly as possible.
Warm Regards,
Julia
Yahoo Customer Care
Muokattu
I created an add-on that might be more convenient than using the earlier workarounds.
https://addons.mozilla.org/firefox/addon/yahoo-mail-email-link-fix/
It integrates into the right-click context menu:
- email link => sends the address to Yahoo mail
- page => sends page title as subject and url as the body
If you try it, let me know how it goes.
If I right click on the link and select Yahoo mail, it opens a new mail page with the address. So that works. I do not see an option called "page" to get the subject line, but that doesn't matter, because I can add the subject. Thank you for this add-on!
Hi JudyPanama, I didn't explain that very well, did I. What I meant was, if you right-click a blank area of the page instead of an email link, the menu item changes and generates a message to share a link to the page.
That doesn't help. I don't need to share a link to the page. I need the email link in the page to generate an email page with that address in the To line. What I first understood that you said gives me that.
Okay, you'll notice the menu item looks different if you happen to "miss" when right-clicking.