From:
Justin J <justin@dadamailproject.com>
Subject:
Re: scheduled mailing from URL error
In-Reply-To:
Re: scheduled mailing from URL error
Date:
August 30th 2012
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 fromurl {
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'}->{urlusername}) &&
defined($record->{$type . 'ver'}->{urlpassword})
){
$res->authorization_basic(
$record->{$type . 'ver'}->{urlusername},
$record->{$type . 'ver'}->{urlpassword}
);
}
# 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 fromurl {
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'}->{urlusername}) &&
defined($record->{$type . 'ver'}->{urlpassword})
){
$res->authorization_basic(
$record->{$type . 'ver'}->{urlusername},
$record->{$type . 'ver'}->{urlpassword}
);
}
# 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,
|
<< Previous: Re: scheduled mailing from URL error |
| Archive Index | |
Next: Re: scheduled mailing from URL error >> |
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.