Extension talk:EmailPage/Archive

Cron Jobs

can anyone show an example on how to send an email via cron job? So far i can send the email via the browser using link

http://url.com/wiki/index.php?title=Special:EmailPage&ea-title=Page%20Title&ea-list=mail@host.com&ea-subject=Email%20subject&ea-send=Send!

My problem is that the user needs to be logged in as admin (on the wiki) to do this, no? Should I use wget? Thanks for the help. --207.96.208.130 22:23, 4 June 2009 (UTC)

Blocked users

Is it possible when selecting the group USERs that people which are blocked not be listed. thanks! --207.96.208.130 21:07, 2 June 2009 (UTC)

i came up with a fix, but not sure it is the most efficient replace
 ?$db->select( 'user', 'user_email', 'user_email != \'\'', __METHOD__ )
by
 ?$db->select( 'user' , 'user_email', array ('user_email != \'\'', 'user_id NOT IN (SELECT ipb_user FROM ipblocks WHERE ipb_user <> 0)'), __METHOD__ )
--207.96.208.130 17:30, 3 June 2009 (UTC)

Multibytes characters in email

thanks for this extension. I am using it on our laboratory wiki after some simplification.

It works well except that we cannot send japanese character which is a stopover because mainly the wiki is used in japanese. I saw that it is already in the known bugs and I would like to know if there is a workaround (like specifying the encoding of the email??). I could send some well encoding character emails but I cannot reproduce it, I am investigating it now.

Also I am working on the translation of th i18n in japanese, should I post it here?

Thanks for your help. Sylvain 9:05, 3 March 2009 (UTC)

It seems that the mails are send in UTF-8 but it is not detected. Perhaps should add it in the header... I will check if it is possible.
Found a fix just need to line 50 in class.phpmailer.php to
public $CharSet  = 'UTF-8';
Sylvain 9:05, 8 December 2009 (UTC)
That's great! I had the same problem, but now everything looks beautyful. --kgh 00:13, 9 December 2009 (UTC)

Image link mistake and Force that the article link is given a the beginning of the mail

Issue relative to article that I receive thanks to "EmailArticle" extension and which have images (downloaded thanks "upload file").

In fact when I receive the mail, the image is missing and the link at place of the image is:
http://wiki..../index.php/Image:image_file.jpg
Has somebody a solution to has this image visible.
It seems that email don't like the link "Image:image"

and

The other question concerns the possibility to have the link to the article appearing at the beginning of the email.

So people can directly access to the article

Thanks


CKL 13:44, 16 July 2008 (UTC)

Finally As nobody gave an answer, I found the solution myself!!

It Is very strange that these kind of issue has never been evoked !

Finally Thank you myself

Arround line 270, I added:

		
			$message = preg_replace("/<span class=\"editsection\">.*edit<\/a>]<\/span>/im", "", $message);
			$message = str_replace("src=\"/images/", "src=\"http://wiki.ts-alcatel.net/images/", $message);
			$tmp_access_article = "<a href=\"" . $wgScript."/".$title ."\"><em>".$title."</em></a>";
			$message = "<em>Link to article: </em>".$tmp_access_article."\n <br> <br> ".$message;

OR you can put the full path of the picture on your page (you need to allow it in LocalSetting.php also)--207.96.208.130 22:42, 4 June 2009 (UTC)

From DaveT : Sept 2011. In reference to "around line 270": the file may have changed considerably in the last 2 years. I added these near at line 220 at the bottom of the section titled "# Parse the wikitext using absolute URL's for local page links" I added a line 20 "var $tmp_access_article;" but am not a programmer and don't know if was necessary. Link to article not yet working for me, but images are getting correct src links.

LTech23 July 2012. I added the code above but my images are still broken. Any ideas why?

fatal error getID()

I installed the extension but when I use it I get

Fatal error: Call to a member function getID() on a non-object in /home/kickmysi/public_html/techwiki/includes/SkinTemplate.php on line 408
To be able to give any advice I need more info such as your EmailArticle configuration settings and MediaWiki version. --Nad 21:21, 27 June 2007 (UTC)
I have installed it successfully on MW 1.10.0 without problems. My file structure was:
extensions/EmailArticle-1.0.2
extensions/EmailArticle-1.0.2/EmailArticle.php
extensions/EmailArticle -> EmailArticle-1.0.2
extensions/EmailArticle-1.0.2/phpmailer  # <-- Brent R. Matzelle's phpmailer extension
--Zven 21:25, 1 July 2007 (UTC)
Media Wiki Version MediaWiki: 1.10.0
 include ("$IP/extensions/EmailArticle/EmailArticle.php");
 $wgEmailArticleGroup = "**";
 $wgEmailArticleContactsCat = "";
 $wgEmailArticleCss = "EmailArticle.css";
 $wgEmailArticleAllowRemoteAddr = "";
 $wgEmailArticleAllowAllUsers = "false";
 $wgEmailArticleToolboxLink = "Send to email";
 $wgEmailArticleActionLink = "email";
 $wgPhpMailerClass = "";




blank page, no email

I installed extension as well according to all of the instructions outlined and the extension will not send email. It goes to a blank page when I hit submit. Any suggestions email me at drclinks@gmail.com. -Mike

Is the normal mediawiki mail functionality is working such as password confirmation or watchlist changes? --Nad 00:29, 6 July 2007 (UTC)
peblusto says: this would be a perfect extension ... if i could get it working! but we also get a blank page when clicking send, and there's no outgoing email, yet other email works from the wiki, including "e-mail user". i also note that this extension only permits building a page send form for users who have confirmed their email address (doh!) otherwise it displays "...permission denied" at the bottom of the form. here's my localsettings.php lines:
   ...
   include ("$IP/extensions/EmailArticle/EmailArticle.php");
   $wgEmailArticleGroup = "*";
   $wgPhpMailerClass = "$IP/extensions/EmailArticle/class.phpmailer.php";
   ...
any clues? has anyone else seen this "blank page, no email send" problem, and resolved it? thanx peblusto 20:25, 19 September 2007 (UTC)
There seems to be a bug preventing the pseudo-groups ("*" and "user") from working. I'll try and fix that soon, but in the mean time, you can set the group to "" to allow anyone, or a real group. --Nad 22:13, 19 September 2007 (UTC)
Try using getEffectiveGroups instead of getGroups, in EmailArticle_body.php? -Jlerner 21:00, 15 June 2008 (UTC)
peblusto says: thanks, but i'm still getting a blank page and no email, even with "$wgEmailArticleGroup = "";" instead of "*".
...
$wgEmailArticleGroup = "";
...
also, not having had success yet, i'm not absolutely sure how to use the form (see, for example, Special:EmailArticle/Main_Page), under "select recipients" do i have to select a "...group" or can i just type in email addresses under "additional..."?
Let me look at my apache server error.log:
   ...
   [Thu Sep 20 07:29:15 2007] [error] [client 10.112.102.10] PHP Warning:  
   require_once(C:\\www\\apache2\\htdocs\\mediawiki\\extensions\\EmailArticle/phpmailer/class.phpmailer.php) 
   [<a href='function.require-once'>function.require-once</a>]: 
   failed to open stream: No such file or directory in 
   C:\\www\\apache2\\htdocs\\mediawiki\\extensions\\EmailArticle\\EmailArticle.php 
   on line 34, referer: 
   http://...ourwikiserver.../mediawiki/index.php?title=Special:EmailArticle&action=submit
   ...
what are you doing here in emailarticle.php?:
...
$wgPhpMailerClass = dirname(__FILE__).'/phpmailer/class.phpmailer.php'; # From http://phpmailer.sourceforge.net/
...
That line specifies the default location it expects to find the class.phpmailer.php which it can't find as shown in the following error message --Nad 12:49, 25 September 2007 (UTC)
should i have a file "phpmailer.php" in any particular directory?

--

Yes you need to have it (in this particular case) at c:\www\apache2\htdocs\mediawiki\extensions\EmailArticle\phpmailer\class.phpmailer.php (in other words, under ...\extensions\EmailArticle\phpmailer\...) --Nad 12:49, 25 September 2007 (UTC) (edited peblusto 12:21, 26 September 2007 (UTC))

--

also, i'd love some examples of the effect of the variables, for instance, what does
...
"$wgEmailArticleContactsCat = 'Contacts'; # This specifies the name of a category containing categories of contact articles"
...
mean? thanx peblusto 13:19, 20 September 2007 (UTC)


--

I think it best to get it working before changing any of these other things --Nad 12:49, 25 September 2007 (UTC)
peblusto says: Sure, but regardless, support documentation is absolutely critical (and sorely missing throughout mediawiki), and example is the best way i have learned to learn, and seeing examples helps confirm what the tool can do, and help us decide if we want the tool or not at all! thanx. peblusto 12:21, 26 September 2007 (UTC)

--


ps - i can mess it up and get a screen full of this as the send results instead of a blank screen - i guess i'll re-download the extension and try again!
   ContentType = "text/html"; else $this->ContentType = "text/plain"; } /** * 
   Sets Mailer to send message using SMTP. * @return void */ function IsSMTP()
   { $this->Mailer = "smtp"; } /** * Sets Mailer to send message using PHP 
   mail() function. * @return void */ function IsMail() { $this->Mailer = "mail";
   } /** * Sets Mailer to send message using the $Sendmail program. * @return 
   void */ function IsSendmail() { $this->Mailer = "sendmail"; } /** * Sets 
   Mailer to send message using the qmail MTA. * @return void */ function 
   IsQmail() { $this->Sendmail = "/var/qmail/bin/sendmail"; $this->Mailer = 
   "sendmail"; } ///////////////////////////////////////////////// // RECIPIENT 
   METHODS ///////////////////////////////////////////

and on and on ...


This looks like the class.phpmailer.php script is being sent to output instead of being executed. --Nad 12:49, 25 September 2007 (UTC)


peblusto says: ... so ...? i fix this by using the "official' version of phpmailer dropped into the ...\extensions\EmailArticle\phpmailer\... directory, but it still doesn't work. I'm only moving the error messages around and never actually sending out the page over email. does anyone have a checklist on how to confirm that proper email function support tools are installed and configured properly? thanx peblusto 12:21, 26 September 2007 (UTC)




ea_autherror

I installed according to instructions, including the phpmailer class. I get an <ea_autherror> when trying to send an email with empty string as $wgEmailArticleGroup. Also, how can I add aditional groups to the system to send email only to those people? Manually added groups work for the permissions but not as recipient. Also, the Article title is empty in the form and email ("" article sent from Elixir Wiki) - Oliver

I found some minor bugs which should fix those problems, try the new version at OrganicDesign:Extension:EmailArticle.php --Nad 07:54, 10 July 2007 (UTC) (version 1.0.6 (2007-09-22) peblusto 12:21, 26 September 2007 (UTC))



User and * Groups

Hi - this extension doesn't work for me unless I set $wgEmailArticleGroup to ' '; - when I try 'user' or even '*' it says permission denied, though I am logged in as a bureaucrat and sysop. Gary Kirk 14:37, 24 August 2007 (UTC)

The "user" and "*" groups are virtual groups and aren't allowed as special-page permissions. The "user" group is allowed to be used for selecting recipients though and will send the article to all registered users. --Nad 11:58, 27 August 2007 (UTC)
Changing getGroups() to getEffectiveGroups(), in EmailArticle_body.php, function send(), seems to make $wgEmailArticleGroup work more as expected. -Jlerner 20:57, 15 June 2008 (UTC)



MySQL errors in 1.11

Having upgraded to MW 1.11 I tried this extension (which worked fine in 1.10).

I went to: http://mywiki.local/index.php?title=Special:EmailArticle&ea_title=Main%20Page (and other articles as well) and each time was greated with these two error messages:

Warning: mysql_fetch_row(): supplied argument is not a valid MySQL result resource in /var/www/mywiki/extensions/EmailArticle/EmailArticle.php on line 120
Warning: mysql_fetch_row(): supplied argument is not a valid MySQL result resource in /var/www/mywiki/extensions/EmailArticle/EmailArticle.php on line 159

I echo'd out the select statements that were being sent and saw that it was as follows:

SELECT cl_from FROM `categorylinks` WHERE cl_to = 'Contacts' ORDER BY cl_sortkey
SELECT page_id FROM `page` WHERE page_title REGEXP('\.css$') ORDER BY page_title

My PHP version hasn't changed (5.2.0-8), neither has MySQL (5.0.41).

Email sending still works, however.

I'm about to do the upgrade to 1.11 on mine too so I'll be able to look in to that soon. --Nad 21:49, 12 September 2007 (UTC)
Working fine in MW1.11 now ;-) --Nad 12:14, 14 September 2007 (UTC)




Suggestions

Can this extension be given the option of stripping out the [edit] links that appear in the emails? Unfortunately this makes the extension a little useless for our environment.

You can add __NOEDITSECTION__ to the text message part of the form, or you could remove them from the CSS you use --Nad 21:47, 12 September 2007 (UTC)




Error sending (page name): Language string failed to load: instantiate

peblusto says: huh? i'm having fun crashing this and should be a master at it by the time i get it working. i just downloaded the entire big phpmailer suite from http://phpmailer.sourceforge.net/ and replaced the version from http://www.organicdesign.co.nz/Class.phpmailer.php in my C:\www\apache2\htdocs\mediawiki\extensions\EmailArticle\*.* directory (by the way, where should it go and how would i know?).

my apache error.log now says:

[Thu Sep 20 09:15:40 2007] [error] [client 10.112.102.10]
PHP Fatal error: Class 'PHPMailer' not found in
C:\\www\\apache2\\htdocs\\mediawiki\\extensions\\EmailArticle\\EmailArticle.php
on line 256, referer:
http://...ourwikiserver.../mediawiki/index.php?title=Special:EmailArticle&action=submit

so i open EmailArticle.php in free http://www.htmlkit.com/ and read down to the numbered line 256 which says:

$mail = new PHPMailer();

i've tried adding these lines into my php.ini:

include_path=".;C:\www\php5\pear;C:\www\php5\PHPMailer"
$mail->PluginDir = "C:\www\php5\PHPMailer";

but now i see there are two php.ini files, one in C:\www\apache2\ and one in C:\www\php5\ ... which one matters? how should i coordinate them to best support mediawiki and this extension, if it matters? I added the "include_path..." and "$mail..." lines the end of both php.ini files, reloaded to send a new page and still get "Language string failed to load: instantiate". here are the two lines in apache error.log when trying to send a page:

[Thu Sep 20 13:38:00 2007] [error] [client 10.112.102.10]
(20024)The given path misformatted or contained invalid characters:
Cannot map GET /mediawiki/index.php/Special:Random HTTP/1.1 to file,
referer: http://...ourwikiserver.../mediawiki/index.php?title=Special:EmailArticle&action=submit
[Thu Sep 20 13:38:01 2007] [error] [client 10.112.102.10]
PHP Notice: Undefined index: edit in
C:\\www\\apache2\\htdocs\\mediawiki\\includes\\SkinTemplate.php
on line 443, referer:
http://...ourwikiserver.../mediawiki/index.php?title=Special:EmailArticle&action=submit

maybe i need remedial details on exactly what resources need to be where in the system. thanx peblusto 17:43, 20 September 2007 (UTC)

--

Sorry, the instructions regarding the phpmailer file were incorrect and have been updated, I've added the specific info about this in the following section as well --Nad 04:18, 21 September 2007 (UTC)

--

peblusto says: so, is this what we should have in our localsetting.php:

include ("$IP/extensions/emailarticle/emailarticle.php");
$wgPhpMailerClass = "$IP/extensions/emailarticle/class.phpmailer.php";

if so, maybe we should put that twin line entry on the front article / extension page.

please help me audit - here's my inventory:

files:
c:\www\apache2\htdocs\mediawiki\extensions\emailarticle\emailarticle.php
c:\www\apache2\htdocs\mediawiki\extensions\emailarticle\phpmailer\class.phpmailer.php
This is correct and matches the default setting for $wgPhpMailerClass
localsetting.php (in C:\www\apache2\htdocs\mediawiki\localsetting.php) contains:
include ("$IP/extensions/emailarticle/emailarticle.php");
$wgEmailArticleGroup = "";
$wgEmailArticleAllowAllUsers = true;
$wgEmailArticleToolboxLink = "Email current page";
$wgPhpMailerClass = "$IP/extensions/emailarticle/phpmailer/class.phpmailer.php";
You don't need to set this since the default should be fine, but if you were to set it you should use $IP not $wgScriptPath
special:version says:
Version
Special pages
Special:EmailArticle (version 1.0.6, 2007-09-22) Send rendered article to an email address or list of addresses User:Nad
Extension functions
... wfSetupEmailArticle ...
Hook name -- Subscribed by
...
MonoBookTemplateToolboxEnd -- wfEmailArticleToolboxLink
SkinTemplateTabs -- wfEmailArticleActionLink

however, i have the same problems.

with your version of class.phpmailer.php (30 kb) from http://www.organicdesign.co.nz/Class.phpmailer.php I get a page full of code gibberish as in Extension_talk:EmailArticle#blank_page.2C_no_email above.

with class.phpmailer.php (46 kb) from http://phpmailer.sourceforge.net/ I still get Error sending (page name): Language string failed to load: instantiate.

error.log from C:\www\apache2\logs, final lines:
[Fri Sep 21 15:50:37 2007] [error] [client 10.112.102.9]
(20024)The given path misformatted or contained invalid characters: Cannot map GET
/mediawiki/index.php/Special:Search?search=special%3Aversion&go=Go
HTTP/1.1 to file, referer:
http://...ourwikiserver.../mediawiki/index.php?title=Special:EmailArticle&action=submit
[Fri Sep 21 15:50:37 2007] [error] [client 10.112.102.9]
(20024)The given path misformatted or contained invalid characters: Cannot map GET
/mediawiki/index.php/Special:Version HTTP/1.1 to file, referer:
http://...ourwikiserver.../mediawiki/index.php?title=Special:EmailArticle&action=submit

so i ask myself, i say, "self, where the heck is language instantiate coming from?" (and i ask myself who uses words like "instantiate" in the first place, anyway? see below *)

class.phpmailer.php line 445 (of 1499):
$this->SetError($this->Lang("instantiate"));

i also notice many directory references inside class.phpmailer.php that do not match the directory structure of my system - does that matter? here's the language line:

class.phpmailer.php line 596 (of 1499):
function SetLanguage($lang_type, $lang_path = "language/")...

is it me? (i look at http://www.organicdesign.co.nz/wiki/index.php/Special:Version and i'm jealous - can i hire you!?!) peblusto 20:36, 21 September 2007 (UTC)

--

* ps: from http://www.onelook.com/?w=instantiate&ls=a
instantiate quick definitions
  1. verb: find an instance of (a word or particular usage of a word) (Example: "The linguists could not instantiate this sense of the noun that he claimed existed in a certain dialect")
  2. verb: represent by an instance (Example: "This word instantiates the usage that the linguists claimed to be typical for a certain dialect")

--

peblusto says: same problem Tuesday, September 25, 2007 7:14:07 am trying on another wiki (built off same database and php installation) - either i get a screen page full of gibberish using your version of phpmailer or i get "Error sending Main Page: Language string failed to load: instantiate" when using the "class.phpmailer.php" from sorceforge.

apache error.log last line:

[Tue Sep 25 07:12:31 2007] [error] [client 10.112.102.9]
PHP Fatal error: Class 'PHPMailer' not found in
C:\\www\\apache2\\htdocs\\...ourwiki2...\\extensions\\EmailArticle\\EmailArticle.php
on line 257, referer:
http://...ourwikihost.../...outwiki2.../index.php?title=Special:EmailArticle&action=submit

thanks for exploring this. peblusto 11:28, 25 September 2007 (UTC)

--

peblusto says: my mwdiawiki does email the registration confirmation, so email settings appear to work elsewhere. any clues as to the cause and resolution of
Error sending Special:Version: Language string failed to load: instantiate
error when clicking [Send!]? thanx peblusto peblusto 10:30, 4 October 2007 (UTC)

That looks like you're trying to send a special page - you can only send normal articles not special pages. --Nad 11:08, 4 October 2007 (UTC)
I am trying to run EmailPage from the latest version available (as of August 4th) and I am running into the same error for any page I am trying to send out. I also had to replace many instance of 'Emailpages' instead of 'EmailPage' in the code. Is the latest version even stable ?
Update from above - the solution to my problem with this error was simple : Edit phpmailer class to set the mail method to something that works for you (in my case, smtp with a working server). I am now sending emails as advertised.
Sorry, there may be an obvious answer to this, but where did you go to edit phpmailer class? I'm running into the same problem and am on the latest version. Thanks, Loren

PHP Mailer class

The only file this extension needs from phpmailer is the one named class.phpmailer.php, by default this extension expects it to be found in a directory called phpmailer which should be located in the same directory as the EmailArticle.php script is located. If you want to put it in some other location, then specify its full path name in the $wgPhpMailerClass variable in your localsettings after the EmailArticle include statement. There's no need to adjust anything to do with PHP or Apache. --Nad 04:18, 21 September 2007 (UTC)





Email Address Validation is Overly Strict

The regex used for email address validation, /[a-z0-9_.-]+@[a-z0-9_.-]+/i, fails to match valid email addresses. There are some regexes out there that will better match the

Request for comment (RFC)
Archive
Component General
Creation date {{{created}}}
Author(s) {{{author}}}
Document status

standard. The lack of a plus sign was the one I noticed first, but there are additional special characters that should be allowed.

How does the contact list work?

How exactly does $wgEmailArticleContactsCat work? It looks to me like if I create an article "Foo" with contents:

foo@foo.com
[[Category: Contacts]]

... then I should be given a list where I can select foo@foo.com as a recipient. Am I understanding that correctly? I don't think I am, because that doesn't seem to work for me. --64.236.208.27 14:55, 21 September 2007 (UTC)

Oops, I'd forgotten that I hadn't written the explanation for any of the recipient-selection methods! I've added those to the docs now, so hopefully that will make a bit more sense now ;-) --Nad 20:14, 21 September 2007 (UTC)
Thanks for the clarification. I still had some problems... I think there are bugs:
  • The category names used won't work if they have spaces in them. You need to convert those spaces to underscores before you use them in your DB queries.
  • There's a bug in the addRecipient() function. E-mails from categories don't currently get added to the $recipients[] array because they never hit the part of the function that tests for validity. Here's what I did to fix that:
#elseif ($valid = User::isValidEmailAddr($recipient)) $this->recipients[] = $recipient;
if ($valid = User::isValidEmailAddr($recipient))  $this->recipients[] = $recipient;
Thanks again for a great extension. Hope this comment makes it even better. --64.236.208.28 14:08, 27 September 2007 (UTC)
Thanks, I've updated it to 1.0.7 with that patch --Nad 20:44, 27 September 2007 (UTC)
Categorys with spaces still do not work. Thus I have added a note to safe administrators some time utilising this method. I think it should be ok with most wikis to have categories without spaces. Cheers --kgh 22:56, 18 November 2009 (UTC)



A little tweak for setting the From: name more nicely

Sorry, not a proper patch. But you can see where this goes. There's probably a better way to extract the real name, too... I'm not really a programmer.  :)

#$mail->FromName = $wgUser->getName();
$mail->FromName = User::whoIsReal($wgUser->getId());
#if ($state = $mail->Send()) $msg = wfMsg('ea_sent',$this->title,$count,$mail->FromName);
if ($state = $mail->Send()) $msg = wfMsg('ea_sent',$this->title,$count,$wgUser->getName());

--Oeuftete88 17:44, 27 September 2007 (UTC)

thanks, that looks better, I've added that patch as 1.0.8 --Nad 20:53, 27 September 2007 (UTC)

Error sending Help:Contents: Could not instantiate mail function.

I tried to send various pages on my wiki and I get the following error message: Error sending Help:Contents: Could not instantiate mail function. Any clue on how to fix that? --PurplePopple 22:43, 28 December 2007 (UTC)

If you are running on IIS, this can likely be resolved by modifying the /phpMailer_v2.1.0beta2/class.phpmailer.php file as follows:
  • Change this section:
     /**
    * Formats an address correctly.
    * @access private
    * @return string
    */
    function AddrFormat($addr) {
    if(empty($addr[1]))
    $formatted = $addr[0];
    else
    {
    $formatted = $this->EncodeHeader($addr[1], ‘phrase’) . ” <” .
    $addr[0] . “>”;
    }

    return $formatted;
    }
  • To this:
     /**
    * Formats an address correctly.
    * @access private
    * @return string
    */
    function AddrFormat($addr) {

    $formatted = $addr[0];

    return $formatted;
    }

The problem is caused because the < and > symbols added to the email address are not handled correctly by PHP mailer running on IIS. Thorncrag 02:12, 6 January 2010 (UTC)

Getting extra text above the ea_header in the email

This extension works great!

One small issue I am running into is some extra text that is prepended prior to the ea_header section in the email.

At the very top of the email it reads something similar to:


  There is currently no text in this page, you can [[Special:Search/<name of doc>|search for this page title]] in other pages or 
  [http://<fqdn>/wiki/index.php?title=<name of doc>&action=edit edit this page].
  
    This is a sample ea_header line ... 

... which to me looks like a "failed' search although the document does render as expected in the email after the ea_header above.

Any ideas?

Error loading class

Get this error:

PHP Fatal error:  Cannot redeclare class SpecialEmailArticle in /var/www/bp-aux/extensions/EmailArticle/EmailArticle_body.php on line 4

in my httpd logs.

Version MediaWiki 1.12.0

  • extensions/EmailArticle/
  • extensions/EmailArticle/EmailArticle.php, EmailArticle_body.php, EmailArticle.i18n.php
  • extensions/EmailArticle/phpmailer

Any ideas?

Thx WSpivak 15:39, 18 May 2008 (UTC)

Are you declaring the class twice somewhere in your LocalSettings.php file? Can you download the latest svn revision and see if the issue still exists, the extension has been split into three files recently since your post and bugs ironed out --Zven 23:34, 19 May 2008 (UTC)

In function wfEmailArticleToolboxLink():

$ diff EmailArticle.php*
56c56,58
< 	global $wgEmailArticleToolboxLink,$wgTitle;
---
> 	global $wgEmailArticleToolboxLink, $wgTitle, $wgUser, $wgEmailArticleGroup;
> 	if ( !in_array($wgEmailArticleGroup, $wgUser->getEffectiveGroups() ) )
> 	    return false;

-Jlerner 21:21, 15 June 2008 (UTC)

Sorry did notice this post for ages :-/ I've added that functionality now --Nad 03:36, 17 July 2008 (UTC)

Bug in Code

I have to issues to report.

Setup Issue

I had to comment out the following line of code, otherwise this addon totally broke my Wiki. The parameter, 'SERVER_ADDR', was causing the problem; but I have not had time to investigate it. I think that it is supposed to be passed from LocalSettings, but it is not listed in the instructions as a required parameter.

##$wgEmailPageAllowRemoteAddr = array($_SERVER['SERVER_ADDR'],'127.0.0.1');
SERVER_ADDR should be available on most PHP installations, but I've made it conditional so it doesn't fail if it's not there. --Nad 23:29, 16 August 2008 (UTC)

Submit Issue

I think that you have a bug in your current code that causes the submit function to fail.

In the EmailPage_body.php file, I had to make this change under "render form" in order for it to work:

$special = Title::makeTitle(NS_SPECIAL, 'EmailPage');  ## Old code was forwarding to EmailPage instead of Pages
$special = Title::makeTitle(NS_SPECIAL, 'EmailPages'); ## Working code

I hope this helps people getting an invalid special page error when sending.

Thanks for the info, I'm not sure why the name was being changed to "EmailPages", but I've reverted it for now since it had broken it. --Nad 23:32, 16 August 2008 (UTC)

Email link is not showing in toolbox for skins other than monobook skin. Why? Annything should be added extra to show in toolbox?

Hi, I can confirm your observation. The Tab to send an e-mail and the link in the toolbox do only show up in “monobook”. Additionally “modern” and “vector” should be supported since these are the skins officially supported by MediaWiki. It would be great to see this become reality. :-) Cheers --kgh 00:13, 2 February 2010 (UTC)

Add this to the EmailPage.php file in order to show the tab

if ( $wgEmailPageActionLink )  $wgHooks['SkinTemplateNavigation'][] = 'wfEmailPageActionLinkVector';

function wfEmailPageActionLinkVector( &$skin, &$links ) {
                wfEmailPageActionLink( $skin, $links['views'] );
                return true;
        } 

--Tommeke 13:21, 23 December 2010 (UTC)

$wgEmailPageGroup

Hi Nad, if you specify more than on group, e. g. $wgEmailPageGroup = array('sysop', 'specialist'); you get the following warning: “WARNING: Illegal offset type in isset or empty in .../includes/SpecialPage.php on line 720”. I only get it when looking at “Special:SpecialPages”... ...I just realized after testing, that the extension works only with on designated usergroup. It might be a nice option to be able granting permission to more than one usergroup. However, it is a great extension. Cheers --kgh 21:24, 18 November 2009 (UTC)

Thanks a lot for the translations, I've added them to svn :-) I'll look in to the other problem when I get some more time soon. --Nad 19:51, 29 January 2010 (UTC)
I've tried to set $wgEmailPageGroup="emailconfirmed" but it doesn't work, I get a permissions denied error. It seems $wgEmailPageGroup can only = " or 'sysop'. What setting can I do so that only users with email confirmed can send an email? 21 February 2013 LucyTech

Localisation “de” and “de-formal”

done. Hi Nad! Thank you! --kgh 00:17, 2 February 2010 (UTC)

This extension is not on translatewiki.net Thank you. Cheers --kgh 17:17, 23 November 2010 (UTC)

PHPMailer_v5.1

Hi Nad, I have installed and used the latest version 5.1 of PHPMailer (2009-11-11). So far it seems to work beautifully. I think it is ok to provide this version with the snapshots too. Cheers --kgh 14:26, 11 April 2010 (UTC)

It is there now. Thank you. --kgh 17:18, 23 November 2010 (UTC)

User right 'emailpage'

Hi Nad, so far only

  • emailpage (emailpage)

appears if you have a look at Special:ListGroupRights.

If think it would be nice to have a description of this user right. However this is not vital.

Cheers --kgh 00:14, 12 April 2010 (UTC)

messages['no'] has an error

The following error in messages['no'] has to be corrected from:

Siden «$1?» sendt fra $2

To:

Siden «$1» sendt fra $2

Tested and working with Mediawiki 1.16.0

--Aroekene 09:20, 10 January 2011 (UTC)

Hi Aroekene, I think there must be a typo in your message, since both lines seem to be identical?! Cheers --[[kgh]] 16:07, 10 January 2011 (UTC) PS Translations of this extensions are now made via translatewiki.net Perhaps you might want to correct the mistake yourself. Cheers --[[kgh]] 16:10, 10 January 2011 (UTC)
Not a typo. The message contains ?after $1. The "character" should be removed. I will correct this myself as soon as i get edit rights on Translatewiki. Cheers --Aroekene 09:10, 12 January 2011 (UTC)
Ah, I get it. Perhaps you might even want to do translations for other projects too. This would be very cool. Cheers --[[kgh]] 11:19, 12 January 2011 (UTC)

Validation Errors

Using Google Chrome Extension HTML validator I can see 3 errors in the extension

  1. toolbox email page, no end for the <a> tag
  2. general entity "ea-title" not defined and no default entity
  3. reference to entity "ea-title" for which no system identifier could be generated

Email

Hello, today, I noticed my global email preference is lotje@wikipedia.org and when I Confirm e-mail address, the system says Confirmation e-mail sent. Obviously, my emailadres is not lotje@wikipedia, because nl:User:Walter told me he would not have that. How do I solve this problem? Anyone out here who can give me a helping hand? Lotje ツ 08:24, 12 March 2011 (UTC)

Hi, this issue has nothing to do with this extension. However, the confirmation e-mail is sent to the e-mail-address you provided at registration. If this does not belong to an e-mail-account you can access you will not receive an e-mail. Cheers --[[kgh]] 10:14, 12 March 2011 (UTC).
Thanks for looking into this. I received the email a second ago and confirmed it again. Software does has a life of its own. No doubt about that :) Lotje ツ 10:17, 12 March 2011 (UTC)
Yeah, sometimes it has. :) I am glad that everything is ok now. --[[kgh]] 10:23, 12 March 2011 (UTC)

Chinese translation

/** Chinese
 * @author liuyanghejerry
 */
$messages['zh-hans'] = array(
	'emailpage'           => '电邮页面',
	'ea-desc'             => '使用[http://phpmailer.sourceforge.net phpmailer]向指定用户组或地址列表发送HTML页面',
	'ea-heading'          => "=== 发送页面 [[$1]] ===",
	'ea-fromgroup'        => '选择用户组:',
	'ea-pagesend'         => '页面"$1" 发送至 $2',
	'ea-nopage'           => "请指定一个需要发送的页面,如\"[[Special:EmailPage/{{MediaWiki:Mainpage-url}}]]\".",
	'ea-norecipients'     => "未找到合法的E-mail地址!",
	'ea-listrecipients'   => "=== {{PLURAL:$1|Recipient|$1 收件人}} ===",
	'ea-error'            => "'''发送错误 [[$1]]:''' ''$2''",
	'ea-denied'           => '权限错误',
	'ea-sent'             => "页面 [[$1]] 已由 [[User:$3|$3]] 成功发送至 '''$2''' 位 {{PLURAL:$2|recipient|收件人}} 。",
	'ea-selectrecipients' => '选择收件人',
	'ea-compose'          => '合成内容',
	'ea-selectlist'       => "额外的收件人(页面名或邮件地址)
*''分隔符: , ; * \\n
*''可以包含模板以及解析器函数''",
	'ea-show'             => '显示收件人',
	'ea-send'             => '发送!',
	'ea-subject'          => '邮件主题',
	'ea-header'           => '额外的邮件开头(支持维基语法)',
	'ea-selectcss'        => '选择CSS样式表',
	'ea-selectrecord'     => '选择记录类型'
);

Series of emails for training

I'm not sure where to ask this question. Has anyone already extended this extension to send a series of emails? Marketers do this all of the time. I would like to send a new hire a series of emails over the course of a month. So, instead of "Email this page", the idea is "Email this series of pages". I suppose I would need one table listing all of the different series of mails and then another for the different pages included in the different series. One could go to the top page and enter an email address that should receive the whole series. There would need to be an initial confirmation email that gets accepted... --DaveinFrance 21:08, 11 September 2011 (UTC)

Automatically Select Print.css?

I was hoping to automatically selected Print.css on Special page, and even better hide that fact from the end user.

Where is the code

Is this extension still active? I clicked on 'download' the code and it says 'No such extension "EmailPage"'? Is there a similar extension I can use to add a link 'email page' to my site? Thanks

The extension distributor is currently broken and this extension is still on SVN. Currently the only possibility to download the extension is an SVN checkout or to copy the files one by one (charset of the browser must be UTF-8). Get the mailer a such from google code (see link). This will save you some time. Cheers --[[kgh]] (talk) 08:29, 19 July 2012 (UTC)

Add to custom skin

I would like to put the 'e-mail page' link in the main content area under the page title. Any idea how to do this? Thanks --User:LTech I added it to the skin: global $wgTitle, $wgUser, $wgEmailPageGroup; if ( is_object( $wgTitle ) && ( empty( $wgEmailPageGroup ) || in_array( $wgEmailPageGroup, $wgUser->getEffectiveGroups() ) ) ) { $url = htmlspecialchars( SpecialPage::getTitleFor( 'E-mailPage' )->getLocalURL( array( 'ea-title' => $wgTitle->getPrefixedText() ) ) ); echo( "&nbsp &nbsp &nbsp <a href=\"$url\"><img border='0' src='images/email.png' alt='Email Page' width='55' height='20' /></a>" ); } --User:LTech

PHP waring for MW 1.20.2 on PHP 5.4.10

Heiya Nad

After sending the pages I recieved the following warning message together with to status report that the e-mails were sent:

Warning: mysql_query(): Error reading result set's header in /.../includes/db/DatabaseMysql.php on line 46

I would be cool to have a fix for this.

Cheers --[[kgh]] (talk) 23:08, 14 January 2013 (UTC)

Hmm ..., perhaps I lost the connection to the web at the same time. Pleas disregard this for the time being. In case this is persistent I will post again. Cheers --[[kgh]] (talk) 23:28, 14 January 2013 (UTC)

editable 'from' email address

If someone is not logged in I would like them to be able to manually enter their e-mail address in the 'from' section. At the moment it is a select, and there is no email address (unless I set it to a default address). Feb 2013 LucyTech

Add captcha to form

I've been getting spam by allowing anyone to send emails. Is there a way to add captcha to this form?

PHP notice with 1.19.x and 1.20.x

Heiya Nad,

I am recieving a PHP notice for Email page: Did not find alias for special page 'EmailPage'. Perhaps no aliases are defined for it? [Called from SpecialPageFactory::getLocalNameFor in /.../includes/SpecialPageFactory.php at line 573].

A fix would be cool. Thank you and cheers --[[kgh]] (talk) 10:13, 21 May 2013 (UTC)

The code probably needs updating as its quite old and the special page methods have changed a bit in the last few MediaWiki versions. I'll have to do any future updates in the Organic Design subversion though as the new git procedures are awefully complicated and I don't have the time to figure it out :-( --Nad (talk) 22:54, 1 June 2013 (UTC)
Fair enough, I guess the main thing is that you feel comfortable doing the changes. Thank you for having a look at this. Cheers --[[kgh]] (talk) 06:00, 2 June 2013 (UTC)

SMTP Server Error: Error: nested MAIL command

I have been using this extension to E-mail wiki pages for some time with good results. Other users of the site are reporting occasional problems. The most recent one was when a user tried to E-mail a page to himself and he got this message on the E-Mail Page. I am using Mediawiki 1.17.0 and E-mail Page 2.1.2 of 2010.11.01. Any suggestions would be much appreciated. Could you also please provide instructions for downloading updates from Organic Design subversion? Many thanks PaulMcMullin 5 Oct 13

I got : no extension "EmailPage"

When I click on Download the latest snapshot and arrive on

Special:ExtensionDistributor/EmailPage

Any Idea ?

See U

Nicolas NALLET (talk) 17:38, 8 October 2013 (UTC)

Heiya Nicolas, the code is available at this spot. Cheers --[[kgh]] (talk) 08:08, 2 October 2014 (UTC)
Return to "EmailPage/Archive" page.