No Code Attached Yet
avatar davidcibeles
davidcibeles
2 Dec 2015

Steps to reproduce the issue

Enable cache com_content
Load an article from the front-end component com_content
Open a new private browsing (To generate a new session)
Use "Email this link to a friend" from the icons

Expected result

The link is sent to a friend.

Actual result

COM_MAILTO_EMAIL_NOT_SENT

/components/com_mailto/controller.php

$link     = MailtoHelper::validateHash($this->input->get('link', '', 'post'));

if (!$link || !JUri::isInternal($link))
{
    // Non-local url...
    JError::raiseNotice(500, JText::_('COM_MAILTO_EMAIL_NOT_SENT'));

    return $this->mailto();
}

System information (as much as possible)

/components/com_content/helpers/icon.php
JHtmlIcon::email

line 90: $url = 'index.php?option=com_mailto&tmpl=component&template=' . $template . '&link=' . MailToHelper::addLink($link);

MailToHelper::addLink -> adds a URL to the mailto system and returns the hash.
But only in the first session!!
Later the others users will get the hash from the cached file.

/components/com_mailto/controller.php
And when the controller of com_mailto use MailtoHelper::validateHash

Line 61: $mailto_links = $session->get('com_mailto.links', array());

This returns an empty array to de new users.

Additional comments

avatar davidcibeles davidcibeles - open - 2 Dec 2015
avatar infograf768
infograf768 - comment - 3 Dec 2015

@dodiaraculus17

Please stop spamming our repo!

avatar Kubik-Rubik
Kubik-Rubik - comment - 3 Dec 2015

Spam deleted!

avatar bertmert
bertmert - comment - 4 Dec 2015

@davidcibeles

Enable cache com_content

Where? How?

avatar brianteeman brianteeman - change - 4 Aug 2016
Status New Confirmed
avatar brianteeman
brianteeman - comment - 4 Aug 2016

I can confirm that if you enable cache
Open an article and then open the same article in a private window
Using "Email this link to a friend" it was sent successfuly in the first window but in the private window I got a "Email could not be sent."


This comment was created with the J!Tracker Application at issues.joomla.org/joomla-cms/8582.

avatar jobwol
jobwol - comment - 15 Dec 2016

After mostly every Joomla update I'll get the errors on the option email to a friend. I found my solution on Voodish. You'll search for the file /components/com_mailto/controller.php

Locate the following line of code (approximately line 57):
if($timeout == 0 || time() - $timeout < 20) {

Change the line to the following:

if($timeout == 0 || time() - $timeout > 20) {
Save, Upload and test.
You can also increase the time from 20 to say 50.

Tnx to voodish


This comment was created with the J!Tracker Application at issues.joomla.org/tracker/joomla-cms/8582.

avatar franz-wohlkoenig
franz-wohlkoenig - comment - 28 Jan 2017

Issue still valid.

avatar AlexRed
AlexRed - comment - 30 Mar 2017

I can confirm in Joomla! 3.7.0-staging


This comment was created with the J!Tracker Application at issues.joomla.org/tracker/joomla-cms/8582.

avatar AlexRed
AlexRed - comment - 2 May 2017

I can confirm the problem on Joomla! 3.7.1-dev (nightly Build)


This comment was created with the J!Tracker Application at issues.joomla.org/tracker/joomla-cms/8582.

Add a Comment

Login with GitHub to post a comment