From:
Mary Ann Kelley <maryann@thehomeschoolmom.com>
Subject:
Re: scheduled mailing from URL error
In-Reply-To:
Re: scheduled mailing from URL error
Date:
August 30th 2012
| Warm regards, Mary Ann | |
These errors are interesting:On Aug 30, 2012, at 2:34 PM, Mary Ann Kelley wrote:Here are all the recent errors from a test list that got the same result:[Thu Aug 30 11:49:45 2012] scheduled_mailings.pl: Can't use an undefined value as a HASH reference at scheduled_mailings.pl line 774.[Thu Aug 30 11:50:28 2012] scheduled_mailings.pl: 403 Forbidden at ..//DADA/MailingList/Schedules.pm line 1173.
They have to do with accessing things through a password protected directory - and basically, the login isn't working. Had something changed there? Obviously, I can access,
http://www.menus4moms.com/todays_task_email.php
without a user/pass, so it's curious that this is failing. Trying it with my own test Dada Mail, I get almost the same error. I wonder if you're server is blocking HTTP requests from Dada Mail? That's usually done, by just looking at the User Agent (dumbly) and blocking things that looks suspicious. In my copy of Dada Mail, here's what the method that grabs content from a URL looks like:
/dada/DADA/MailingList/Schedules.pm
sub _from_url {
my $self = shift;
my $url = shift;
my $type = shift;
my $record = shift;
# Create a user agent object
require LWP::UserAgent;
my $ua = LWP::UserAgent->new;
# $ua->agent("MyApp/0.1 ");
if(defined($record->{$type . '_ver'}->{proxy})){
$ua->proxy(
['http', 'ftp'],
$record->{$type . '_ver'}->{proxy}
);
}
# Create a request
my $req = HTTP::Request->new(
GET => $url
);
# Pass request to the user agent and get a response back
my $res = $ua->request($req);
if(
defined($record->{$type . '_ver'}->{url_username}) &&
defined($record->{$type . '_ver'}->{url_password})
){
$res->authorization_basic(
$record->{$type . '_ver'}->{url_username},
$record->{$type . '_ver'}->{url_password}
);
}
# Check the outcome of the response
if ($res->is_success) {
return $res->content;
}
else {
warn $res->status_line;
return undef;
}
}
If I just explicitly add a name to our "Browser",
$ua->agent('Mozilla/5.0 (compatible; ' . $DADA::CONFIG::PROGRAM_NAME . ')');
it seems to work!:
sub _from_url {
my $self = shift;
my $url = shift;
my $type = shift;
my $record = shift;
# Create a user agent object
require LWP::UserAgent;
my $ua = LWP::UserAgent->new;
$ua->agent('Mozilla/5.0 (compatible; ' . $DADA::CONFIG::PROGRAM_NAME . ')');
if(defined($record->{$type . '_ver'}->{proxy})){
$ua->proxy(
['http', 'ftp'],
$record->{$type . '_ver'}->{proxy}
);
}
# Create a request
my $req = HTTP::Request->new(
GET => $url
);
# Pass request to the user agent and get a response back
my $res = $ua->request($req);
if(
defined($record->{$type . '_ver'}->{url_username}) &&
defined($record->{$type . '_ver'}->{url_password})
){
$res->authorization_basic(
$record->{$type . '_ver'}->{url_username},
$record->{$type . '_ver'}->{url_password}
);
}
# Check the outcome of the response
if ($res->is_success) {
return $res->content;
}
else {
warn $res->status_line;
return undef;
}
}
You can grab the entire file to try here:
https://gist.github.com/3540628
This exact change was made in the rest of Dada Mail, I don't know why it wasn't in Beatitude - I'll go ahead and fix that for the next release,
--
Justin J: Lead Dadaist.
url: http://dadamailproject.com
email: justin@dadamailproject.com
skype: leaddadaist
On Aug 30, 2012, at 2:34 PM, Mary Ann Kelley wrote:It is sending this page (but I tested it with other pages with the same result), so just do a "view source":http://www.menus4moms.com/todays_task_email.phpHere are all the recent errors from a test list that got the same result:[Thu Aug 30 11:49:45 2012] scheduled_mailings.pl: Can't use an undefined value as a HASH reference at scheduled_mailings.pl line 774.[Thu Aug 30 11:50:28 2012] scheduled_mailings.pl: 403 Forbidden at ..//DADA/MailingList/Schedules.pm line 1173.[Thu Aug 30 11:50:28 2012] scheduled_mailings.pl: multipart/mixed with no parts?! Something is screwy.... at ..//DADA/App/FormatMessages.pm line 647.[Thu Aug 30 11:56:42 2012] scheduled_mailings.pl: Can't use an undefined value as a HASH reference at scheduled_mailings.pl line 774.[Thu Aug 30 11:56:59 2012] scheduled_mailings.pl: 403 Forbidden at ..//DADA/MailingList/Schedules.pm line 1173.[Thu Aug 30 11:56:59 2012] scheduled_mailings.pl: multipart/mixed with no parts?! Something is screwy.... at ..//DADA/App/FormatMessages.pm line 647.[Thu Aug 30 13:40:44 2012] scheduled_mailings.pl: Can't use an undefined value as a HASH reference at scheduled_mailings.pl line 774._____________I'm guessing this is the relevant error but I have no idea what it means:[Thu Aug 30 11:56:59 2012] scheduled_mailings.pl: multipart/mixed with no parts?! Something is screwy.... at ..//DADA/App/FormatMessages.pm line 647.So strange that it would just randomly start throwing this problem after working for years...Warm regards,Mary AnnOn Aug 30, 2012, at 4:21 PM, Justin J wrote:Is there a chance you can post the source of the HTML produced somewhere, before it gets to Dada Mail? Without that, it'll be hard to debug what's going on.Also, anything in the error log timestamped at the same time?--Justin J: Lead Dadaist.url: http://dadamailproject.comemail: justin@dadamailproject.comskype: leaddadaistOn Aug 30, 2012, at 8:35 AM, Mary Ann Kelley wrote:Hi,I have had a mailing set up for years that has suddenly gone haywire. It is a scheduled mailing from a URL. The URL parses the php in the file code to update the content daily. Today, the email I received had only this as the content:This is a multi-part message in MIME format...------------=_1346313602-30933-0--________________When I view the message source, the headers are all there and the source stops at the above as well. If I test the email by manually pasting in the source code from the URL, it sends fine. Using the "Send a webpage" option is the problem. Any idea what might be causing this? I've tested it on pages that do not contain php (just straight HTML) and get the same result.Warm regards,Mary AnnPost: mailto:dadadev@dadamailproject.comUnsubscribe »--* Post: mailto:dadadev@dadamailproject.com* Unsubscribe: http://dadamailproject.com/cgi-bin/dada/mail.cgi/u/dadadev=Post: mailto:dadadev@dadamailproject.comUnsubscribe »
--
* Post: mailto:dadadev@dadamailproject.com
* Unsubscribe: http://dadamailproject.com/cgi-bin/dada/mail.cgi/u/dadadev=
|
<< Previous: Re: scheduled mailing from URL error |
| Archive Index | |
This mailing list is to discuss the nerdy programming development of Dada Mail -
If you are just looking for support Dada Mail, consult the message boards at:
http://dadamailproject.com/support/boards
To post to this list, send a message to:
All subscribers of this list may post to the list itself.
Some on topic... topics include:
At the moment, there aren't many people with CVS access for Dada Mail - if you would like CVS access, please first talk about the changes you propose and how it will affect the program. If the idea is sound and agreed upon, the change will be comitted. A good track record of this will allow you to have CVS access. Some reasons that patches will not be accepted is if the patch breaks compatibility with a previous version of the program, the patch is too centric to your own problem or the patch simply isn't very good.
Please, please please familiarize yourself with the documentation at:
http://dadamailproject.com/support/documentation/
Since no one wants to answer the same question twice.
Another sneaky reason for this mailing list is to test out the discussion list capabilities of Dada Mail, since Dada Mail is used for the mailing list itself.
NOTE - because of this, there may be times that this list will be somewhat broken. Although we're not planning on breaking the program by using it, we're giving you the heads up that this may well happen anyways.