From 7bc2acaa35b34ddb518ecdf7e45d1b1c644deef2 Mon Sep 17 00:00:00 2001 From: Natalie Rose Date: Wed, 9 Sep 2026 11:09:36 +1000 Subject: [PATCH] Implement sending mail using Mailgun --- cpanfile | 3 - cpanfile.snapshot | 1274 ------------------------------ lib/Lacuna/DB/Result/Empire.pm | 19 +- lib/Lacuna/DB/Result/Schedule.pm | 2 - lib/Lacuna/Mailer.pm | 48 ++ lib/Lacuna/Web/ApiKey.pm | 15 +- 6 files changed, 63 insertions(+), 1298 deletions(-) create mode 100644 lib/Lacuna/Mailer.pm diff --git a/cpanfile b/cpanfile index 034ad6bc..48768275 100644 --- a/cpanfile +++ b/cpanfile @@ -115,9 +115,6 @@ requires 'SOAP::Lite'; # --- Runtime: email --------------------------------------------------------- -requires 'Email::Send'; -requires 'Email::Send::Test'; -requires 'Email::Stuff'; requires 'Email::Valid'; requires 'Data::Validate::Email'; diff --git a/cpanfile.snapshot b/cpanfile.snapshot index 5621bfcd..7c26c860 100644 --- a/cpanfile.snapshot +++ b/cpanfile.snapshot @@ -1115,71 +1115,6 @@ DISTRIBUTIONS Scalar::Util 0 parent 0 strictures 0 - Data-Printer-1.002001 - pathname: G/GA/GARU/Data-Printer-1.002001.tar.gz - provides: - DDP 1.002001 - Data::Printer 1.002001 - Data::Printer::Common undef - Data::Printer::Config undef - Data::Printer::Filter undef - Data::Printer::Filter::ARRAY undef - Data::Printer::Filter::CODE undef - Data::Printer::Filter::ContentType undef - Data::Printer::Filter::DB undef - Data::Printer::Filter::DateTime undef - Data::Printer::Filter::Digest undef - Data::Printer::Filter::FORMAT undef - Data::Printer::Filter::GLOB undef - Data::Printer::Filter::GenericClass undef - Data::Printer::Filter::HASH undef - Data::Printer::Filter::OBJECT undef - Data::Printer::Filter::REF undef - Data::Printer::Filter::Regexp undef - Data::Printer::Filter::SCALAR undef - Data::Printer::Filter::VSTRING undef - Data::Printer::Filter::Web undef - Data::Printer::Object undef - Data::Printer::Profile undef - Data::Printer::Profile::Dumper undef - Data::Printer::Profile::JSON undef - Data::Printer::Theme undef - Data::Printer::Theme::Classic undef - Data::Printer::Theme::Material undef - Data::Printer::Theme::Monokai undef - Data::Printer::Theme::Solarized undef - requirements: - ExtUtils::MakeMaker 0 - Fcntl 0 - File::Spec 0 - File::Temp 0 - Scalar::Util 0 - Test::More 0 - version 0.77 - Data-Stream-Bulk-0.11 - pathname: D/DO/DOY/Data-Stream-Bulk-0.11.tar.gz - provides: - Data::Stream::Bulk 0.11 - Data::Stream::Bulk::Array 0.11 - Data::Stream::Bulk::Callback 0.11 - Data::Stream::Bulk::Cat 0.11 - Data::Stream::Bulk::Chunked 0.11 - Data::Stream::Bulk::DBI 0.11 - Data::Stream::Bulk::DBIC 0.11 - Data::Stream::Bulk::DoneFlag 0.11 - Data::Stream::Bulk::FileHandle 0.11 - Data::Stream::Bulk::Filter 0.11 - Data::Stream::Bulk::Nil 0.11 - Data::Stream::Bulk::Path::Class 0.11 - Data::Stream::Bulk::Util 0.11 - requirements: - ExtUtils::MakeMaker 6.30 - Moose 0.90 - Path::Class 0 - Sub::Exporter 0 - Test::More 0.88 - Test::Requires 0 - namespace::clean 0 Data-Validate-Domain-0.15 pathname: D/DR/DROLSKY/Data-Validate-Domain-0.15.tar.gz provides: @@ -1198,825 +1133,6 @@ DISTRIBUTIONS Data::Validate::Domain 0.04 Email::Address 0 ExtUtils::MakeMaker 0 - Date-Manip-6.99 - pathname: S/SB/SBECK/Date-Manip-6.99.tar.gz - provides: - Date::Manip 6.99 - Date::Manip::Base 6.99 - Date::Manip::DM5 6.99 - Date::Manip::DM5abbrevs 6.99 - Date::Manip::DM6 6.99 - Date::Manip::Date 6.99 - Date::Manip::Delta 6.99 - Date::Manip::Lang::catalan 6.99 - Date::Manip::Lang::danish 6.99 - Date::Manip::Lang::dutch 6.99 - Date::Manip::Lang::english 6.99 - Date::Manip::Lang::finnish 6.99 - Date::Manip::Lang::french 6.99 - Date::Manip::Lang::german 6.99 - Date::Manip::Lang::index 6.99 - Date::Manip::Lang::italian 6.99 - Date::Manip::Lang::norwegian 6.99 - Date::Manip::Lang::polish 6.99 - Date::Manip::Lang::portugue 6.99 - Date::Manip::Lang::romanian 6.99 - Date::Manip::Lang::russian 6.99 - Date::Manip::Lang::spanish 6.99 - Date::Manip::Lang::swedish 6.99 - Date::Manip::Lang::turkish 6.99 - Date::Manip::Obj 6.99 - Date::Manip::Offset::off000 6.99 - Date::Manip::Offset::off001 6.99 - Date::Manip::Offset::off002 6.99 - Date::Manip::Offset::off003 6.99 - Date::Manip::Offset::off004 6.99 - Date::Manip::Offset::off005 6.99 - Date::Manip::Offset::off006 6.99 - Date::Manip::Offset::off007 6.99 - Date::Manip::Offset::off008 6.99 - Date::Manip::Offset::off009 6.99 - Date::Manip::Offset::off010 6.99 - Date::Manip::Offset::off011 6.99 - Date::Manip::Offset::off012 6.99 - Date::Manip::Offset::off013 6.99 - Date::Manip::Offset::off014 6.99 - Date::Manip::Offset::off015 6.99 - Date::Manip::Offset::off016 6.99 - Date::Manip::Offset::off017 6.99 - Date::Manip::Offset::off018 6.99 - Date::Manip::Offset::off019 6.99 - Date::Manip::Offset::off020 6.99 - Date::Manip::Offset::off021 6.99 - Date::Manip::Offset::off022 6.99 - Date::Manip::Offset::off023 6.99 - Date::Manip::Offset::off024 6.99 - Date::Manip::Offset::off025 6.99 - Date::Manip::Offset::off026 6.99 - Date::Manip::Offset::off027 6.99 - Date::Manip::Offset::off028 6.99 - Date::Manip::Offset::off029 6.99 - Date::Manip::Offset::off030 6.99 - Date::Manip::Offset::off031 6.99 - Date::Manip::Offset::off032 6.99 - Date::Manip::Offset::off033 6.99 - Date::Manip::Offset::off034 6.99 - Date::Manip::Offset::off035 6.99 - Date::Manip::Offset::off036 6.99 - Date::Manip::Offset::off037 6.99 - Date::Manip::Offset::off038 6.99 - Date::Manip::Offset::off039 6.99 - Date::Manip::Offset::off040 6.99 - Date::Manip::Offset::off041 6.99 - Date::Manip::Offset::off042 6.99 - Date::Manip::Offset::off043 6.99 - Date::Manip::Offset::off044 6.99 - Date::Manip::Offset::off045 6.99 - Date::Manip::Offset::off046 6.99 - Date::Manip::Offset::off047 6.99 - Date::Manip::Offset::off048 6.99 - Date::Manip::Offset::off049 6.99 - Date::Manip::Offset::off050 6.99 - Date::Manip::Offset::off051 6.99 - Date::Manip::Offset::off052 6.99 - Date::Manip::Offset::off053 6.99 - Date::Manip::Offset::off054 6.99 - Date::Manip::Offset::off055 6.99 - Date::Manip::Offset::off056 6.99 - Date::Manip::Offset::off057 6.99 - Date::Manip::Offset::off058 6.99 - Date::Manip::Offset::off059 6.99 - Date::Manip::Offset::off060 6.99 - Date::Manip::Offset::off061 6.99 - Date::Manip::Offset::off062 6.99 - Date::Manip::Offset::off063 6.99 - Date::Manip::Offset::off064 6.99 - Date::Manip::Offset::off065 6.99 - Date::Manip::Offset::off066 6.99 - Date::Manip::Offset::off067 6.99 - Date::Manip::Offset::off068 6.99 - Date::Manip::Offset::off069 6.99 - Date::Manip::Offset::off070 6.99 - Date::Manip::Offset::off071 6.99 - Date::Manip::Offset::off072 6.99 - Date::Manip::Offset::off073 6.99 - Date::Manip::Offset::off074 6.99 - Date::Manip::Offset::off075 6.99 - Date::Manip::Offset::off076 6.99 - Date::Manip::Offset::off077 6.99 - Date::Manip::Offset::off078 6.99 - Date::Manip::Offset::off079 6.99 - Date::Manip::Offset::off080 6.99 - Date::Manip::Offset::off081 6.99 - Date::Manip::Offset::off082 6.99 - Date::Manip::Offset::off083 6.99 - Date::Manip::Offset::off084 6.99 - Date::Manip::Offset::off085 6.99 - Date::Manip::Offset::off086 6.99 - Date::Manip::Offset::off087 6.99 - Date::Manip::Offset::off088 6.99 - Date::Manip::Offset::off089 6.99 - Date::Manip::Offset::off090 6.99 - Date::Manip::Offset::off091 6.99 - Date::Manip::Offset::off092 6.99 - Date::Manip::Offset::off093 6.99 - Date::Manip::Offset::off094 6.99 - Date::Manip::Offset::off095 6.99 - Date::Manip::Offset::off096 6.99 - Date::Manip::Offset::off097 6.99 - Date::Manip::Offset::off098 6.99 - Date::Manip::Offset::off099 6.99 - Date::Manip::Offset::off100 6.99 - Date::Manip::Offset::off101 6.99 - Date::Manip::Offset::off102 6.99 - Date::Manip::Offset::off103 6.99 - Date::Manip::Offset::off104 6.99 - Date::Manip::Offset::off105 6.99 - Date::Manip::Offset::off106 6.99 - Date::Manip::Offset::off107 6.99 - Date::Manip::Offset::off108 6.99 - Date::Manip::Offset::off109 6.99 - Date::Manip::Offset::off110 6.99 - Date::Manip::Offset::off111 6.99 - Date::Manip::Offset::off112 6.99 - Date::Manip::Offset::off113 6.99 - Date::Manip::Offset::off114 6.99 - Date::Manip::Offset::off115 6.99 - Date::Manip::Offset::off116 6.99 - Date::Manip::Offset::off117 6.99 - Date::Manip::Offset::off118 6.99 - Date::Manip::Offset::off119 6.99 - Date::Manip::Offset::off120 6.99 - Date::Manip::Offset::off121 6.99 - Date::Manip::Offset::off122 6.99 - Date::Manip::Offset::off123 6.99 - Date::Manip::Offset::off124 6.99 - Date::Manip::Offset::off125 6.99 - Date::Manip::Offset::off126 6.99 - Date::Manip::Offset::off127 6.99 - Date::Manip::Offset::off128 6.99 - Date::Manip::Offset::off129 6.99 - Date::Manip::Offset::off130 6.99 - Date::Manip::Offset::off131 6.99 - Date::Manip::Offset::off132 6.99 - Date::Manip::Offset::off133 6.99 - Date::Manip::Offset::off134 6.99 - Date::Manip::Offset::off135 6.99 - Date::Manip::Offset::off136 6.99 - Date::Manip::Offset::off137 6.99 - Date::Manip::Offset::off138 6.99 - Date::Manip::Offset::off139 6.99 - Date::Manip::Offset::off140 6.99 - Date::Manip::Offset::off141 6.99 - Date::Manip::Offset::off142 6.99 - Date::Manip::Offset::off143 6.99 - Date::Manip::Offset::off144 6.99 - Date::Manip::Offset::off145 6.99 - Date::Manip::Offset::off146 6.99 - Date::Manip::Offset::off147 6.99 - Date::Manip::Offset::off148 6.99 - Date::Manip::Offset::off149 6.99 - Date::Manip::Offset::off150 6.99 - Date::Manip::Offset::off151 6.99 - Date::Manip::Offset::off152 6.99 - Date::Manip::Offset::off153 6.99 - Date::Manip::Offset::off154 6.99 - Date::Manip::Offset::off155 6.99 - Date::Manip::Offset::off156 6.99 - Date::Manip::Offset::off157 6.99 - Date::Manip::Offset::off158 6.99 - Date::Manip::Offset::off159 6.99 - Date::Manip::Offset::off160 6.99 - Date::Manip::Offset::off161 6.99 - Date::Manip::Offset::off162 6.99 - Date::Manip::Offset::off163 6.99 - Date::Manip::Offset::off164 6.99 - Date::Manip::Offset::off165 6.99 - Date::Manip::Offset::off166 6.99 - Date::Manip::Offset::off167 6.99 - Date::Manip::Offset::off168 6.99 - Date::Manip::Offset::off169 6.99 - Date::Manip::Offset::off170 6.99 - Date::Manip::Offset::off171 6.99 - Date::Manip::Offset::off172 6.99 - Date::Manip::Offset::off173 6.99 - Date::Manip::Offset::off174 6.99 - Date::Manip::Offset::off175 6.99 - Date::Manip::Offset::off176 6.99 - Date::Manip::Offset::off177 6.99 - Date::Manip::Offset::off178 6.99 - Date::Manip::Offset::off179 6.99 - Date::Manip::Offset::off180 6.99 - Date::Manip::Offset::off181 6.99 - Date::Manip::Offset::off182 6.99 - Date::Manip::Offset::off183 6.99 - Date::Manip::Offset::off184 6.99 - Date::Manip::Offset::off185 6.99 - Date::Manip::Offset::off186 6.99 - Date::Manip::Offset::off187 6.99 - Date::Manip::Offset::off188 6.99 - Date::Manip::Offset::off189 6.99 - Date::Manip::Offset::off190 6.99 - Date::Manip::Offset::off191 6.99 - Date::Manip::Offset::off192 6.99 - Date::Manip::Offset::off193 6.99 - Date::Manip::Offset::off194 6.99 - Date::Manip::Offset::off195 6.99 - Date::Manip::Offset::off196 6.99 - Date::Manip::Offset::off197 6.99 - Date::Manip::Offset::off198 6.99 - Date::Manip::Offset::off199 6.99 - Date::Manip::Offset::off200 6.99 - Date::Manip::Offset::off201 6.99 - Date::Manip::Offset::off202 6.99 - Date::Manip::Offset::off203 6.99 - Date::Manip::Offset::off204 6.99 - Date::Manip::Offset::off205 6.99 - Date::Manip::Offset::off206 6.99 - Date::Manip::Offset::off207 6.99 - Date::Manip::Offset::off208 6.99 - Date::Manip::Offset::off209 6.99 - Date::Manip::Offset::off210 6.99 - Date::Manip::Offset::off211 6.99 - Date::Manip::Offset::off212 6.99 - Date::Manip::Offset::off213 6.99 - Date::Manip::Offset::off214 6.99 - Date::Manip::Offset::off215 6.99 - Date::Manip::Offset::off216 6.99 - Date::Manip::Offset::off217 6.99 - Date::Manip::Offset::off218 6.99 - Date::Manip::Offset::off219 6.99 - Date::Manip::Offset::off220 6.99 - Date::Manip::Offset::off221 6.99 - Date::Manip::Offset::off222 6.99 - Date::Manip::Offset::off223 6.99 - Date::Manip::Offset::off224 6.99 - Date::Manip::Offset::off225 6.99 - Date::Manip::Offset::off226 6.99 - Date::Manip::Offset::off227 6.99 - Date::Manip::Offset::off228 6.99 - Date::Manip::Offset::off229 6.99 - Date::Manip::Offset::off230 6.99 - Date::Manip::Offset::off231 6.99 - Date::Manip::Offset::off232 6.99 - Date::Manip::Offset::off233 6.99 - Date::Manip::Offset::off234 6.99 - Date::Manip::Offset::off235 6.99 - Date::Manip::Offset::off236 6.99 - Date::Manip::Offset::off237 6.99 - Date::Manip::Offset::off238 6.99 - Date::Manip::Offset::off239 6.99 - Date::Manip::Offset::off240 6.99 - Date::Manip::Offset::off241 6.99 - Date::Manip::Offset::off242 6.99 - Date::Manip::Offset::off243 6.99 - Date::Manip::Offset::off244 6.99 - Date::Manip::Offset::off245 6.99 - Date::Manip::Offset::off246 6.99 - Date::Manip::Offset::off247 6.99 - Date::Manip::Offset::off248 6.99 - Date::Manip::Offset::off249 6.99 - Date::Manip::Offset::off250 6.99 - Date::Manip::Offset::off251 6.99 - Date::Manip::Offset::off252 6.99 - Date::Manip::Offset::off253 6.99 - Date::Manip::Offset::off254 6.99 - Date::Manip::Offset::off255 6.99 - Date::Manip::Offset::off256 6.99 - Date::Manip::Offset::off257 6.99 - Date::Manip::Offset::off258 6.99 - Date::Manip::Offset::off259 6.99 - Date::Manip::Offset::off260 6.99 - Date::Manip::Offset::off261 6.99 - Date::Manip::Offset::off262 6.99 - Date::Manip::Offset::off263 6.99 - Date::Manip::Offset::off264 6.99 - Date::Manip::Offset::off265 6.99 - Date::Manip::Offset::off266 6.99 - Date::Manip::Offset::off267 6.99 - Date::Manip::Offset::off268 6.99 - Date::Manip::Offset::off269 6.99 - Date::Manip::Offset::off270 6.99 - Date::Manip::Offset::off271 6.99 - Date::Manip::Offset::off272 6.99 - Date::Manip::Offset::off273 6.99 - Date::Manip::Offset::off274 6.99 - Date::Manip::Offset::off275 6.99 - Date::Manip::Offset::off276 6.99 - Date::Manip::Offset::off277 6.99 - Date::Manip::Offset::off278 6.99 - Date::Manip::Offset::off279 6.99 - Date::Manip::Offset::off280 6.99 - Date::Manip::Offset::off281 6.99 - Date::Manip::Offset::off282 6.99 - Date::Manip::Offset::off283 6.99 - Date::Manip::Offset::off284 6.99 - Date::Manip::Offset::off285 6.99 - Date::Manip::Offset::off286 6.99 - Date::Manip::Offset::off287 6.99 - Date::Manip::Offset::off288 6.99 - Date::Manip::Offset::off289 6.99 - Date::Manip::Offset::off290 6.99 - Date::Manip::Offset::off291 6.99 - Date::Manip::Offset::off292 6.99 - Date::Manip::Offset::off293 6.99 - Date::Manip::Offset::off294 6.99 - Date::Manip::Offset::off295 6.99 - Date::Manip::Offset::off296 6.99 - Date::Manip::Offset::off297 6.99 - Date::Manip::Offset::off298 6.99 - Date::Manip::Offset::off299 6.99 - Date::Manip::Offset::off300 6.99 - Date::Manip::Offset::off301 6.99 - Date::Manip::Offset::off302 6.99 - Date::Manip::Offset::off303 6.99 - Date::Manip::Offset::off304 6.99 - Date::Manip::Offset::off305 6.99 - Date::Manip::Offset::off306 6.99 - Date::Manip::Offset::off307 6.99 - Date::Manip::Offset::off308 6.99 - Date::Manip::Offset::off309 6.99 - Date::Manip::Offset::off310 6.99 - Date::Manip::Offset::off311 6.99 - Date::Manip::Offset::off312 6.99 - Date::Manip::Offset::off313 6.99 - Date::Manip::Offset::off314 6.99 - Date::Manip::Offset::off315 6.99 - Date::Manip::Offset::off316 6.99 - Date::Manip::Offset::off317 6.99 - Date::Manip::Offset::off318 6.99 - Date::Manip::Offset::off319 6.99 - Date::Manip::Offset::off320 6.99 - Date::Manip::Offset::off321 6.99 - Date::Manip::Offset::off322 6.99 - Date::Manip::Offset::off323 6.99 - Date::Manip::Offset::off324 6.99 - Date::Manip::Offset::off325 6.99 - Date::Manip::Offset::off326 6.99 - Date::Manip::Offset::off327 6.99 - Date::Manip::Offset::off328 6.99 - Date::Manip::Offset::off329 6.99 - Date::Manip::Offset::off330 6.99 - Date::Manip::Offset::off331 6.99 - Date::Manip::Offset::off332 6.99 - Date::Manip::Offset::off333 6.99 - Date::Manip::Offset::off334 6.99 - Date::Manip::Offset::off335 6.99 - Date::Manip::Offset::off336 6.99 - Date::Manip::Offset::off337 6.99 - Date::Manip::Offset::off338 6.99 - Date::Manip::Offset::off339 6.99 - Date::Manip::Offset::off340 6.99 - Date::Manip::Offset::off341 6.99 - Date::Manip::Offset::off342 6.99 - Date::Manip::Offset::off343 6.99 - Date::Manip::Offset::off344 6.99 - Date::Manip::Offset::off345 6.99 - Date::Manip::Offset::off346 6.99 - Date::Manip::Offset::off347 6.99 - Date::Manip::Offset::off348 6.99 - Date::Manip::Offset::off349 6.99 - Date::Manip::Offset::off350 6.99 - Date::Manip::Offset::off351 6.99 - Date::Manip::Offset::off352 6.99 - Date::Manip::Offset::off353 6.99 - Date::Manip::Offset::off354 6.99 - Date::Manip::Offset::off355 6.99 - Date::Manip::Offset::off356 6.99 - Date::Manip::Offset::off357 6.99 - Date::Manip::Offset::off358 6.99 - Date::Manip::Offset::off359 6.99 - Date::Manip::Offset::off360 6.99 - Date::Manip::Offset::off361 6.99 - Date::Manip::Offset::off362 6.99 - Date::Manip::Offset::off363 6.99 - Date::Manip::Offset::off364 6.99 - Date::Manip::Offset::off365 6.99 - Date::Manip::Offset::off366 6.99 - Date::Manip::Offset::off367 6.99 - Date::Manip::Offset::off368 6.99 - Date::Manip::Offset::off369 6.99 - Date::Manip::Offset::off370 6.99 - Date::Manip::Offset::off371 6.99 - Date::Manip::Offset::off372 6.99 - Date::Manip::Offset::off373 6.99 - Date::Manip::Offset::off374 6.99 - Date::Manip::Offset::off375 6.99 - Date::Manip::Offset::off376 6.99 - Date::Manip::Offset::off377 6.99 - Date::Manip::Offset::off378 6.99 - Date::Manip::Offset::off379 6.99 - Date::Manip::Offset::off380 6.99 - Date::Manip::Offset::off381 6.99 - Date::Manip::Offset::off382 6.99 - Date::Manip::Offset::off383 6.99 - Date::Manip::Offset::off384 6.99 - Date::Manip::Offset::off385 6.99 - Date::Manip::Offset::off386 6.99 - Date::Manip::Offset::off387 6.99 - Date::Manip::Offset::off388 6.99 - Date::Manip::Offset::off389 6.99 - Date::Manip::Offset::off390 6.99 - Date::Manip::Offset::off391 6.99 - Date::Manip::Offset::off392 6.99 - Date::Manip::Offset::off393 6.99 - Date::Manip::Offset::off394 6.99 - Date::Manip::Offset::off395 6.99 - Date::Manip::Offset::off396 6.99 - Date::Manip::Offset::off397 6.99 - Date::Manip::Offset::off398 6.99 - Date::Manip::Offset::off399 6.99 - Date::Manip::Offset::off400 6.99 - Date::Manip::Offset::off401 6.99 - Date::Manip::Offset::off402 6.99 - Date::Manip::Offset::off403 6.99 - Date::Manip::Offset::off404 6.99 - Date::Manip::Offset::off405 6.99 - Date::Manip::Offset::off406 6.99 - Date::Manip::Offset::off407 6.99 - Date::Manip::Recur 6.99 - Date::Manip::TZ 6.99 - Date::Manip::TZ::a00 6.99 - Date::Manip::TZ::afabid00 6.99 - Date::Manip::TZ::afalgi00 6.99 - Date::Manip::TZ::afbiss00 6.99 - Date::Manip::TZ::afcair00 6.99 - Date::Manip::TZ::afcasa00 6.99 - Date::Manip::TZ::afceut00 6.99 - Date::Manip::TZ::afel_a00 6.99 - Date::Manip::TZ::afjoha00 6.99 - Date::Manip::TZ::afjuba00 6.99 - Date::Manip::TZ::afkhar00 6.99 - Date::Manip::TZ::aflago00 6.99 - Date::Manip::TZ::afmapu00 6.99 - Date::Manip::TZ::afmonr00 6.99 - Date::Manip::TZ::afnair00 6.99 - Date::Manip::TZ::afndja00 6.99 - Date::Manip::TZ::afsao_00 6.99 - Date::Manip::TZ::aftrip00 6.99 - Date::Manip::TZ::aftuni00 6.99 - Date::Manip::TZ::afwind00 6.99 - Date::Manip::TZ::amadak00 6.99 - Date::Manip::TZ::amanch00 6.99 - Date::Manip::TZ::amarag00 6.99 - Date::Manip::TZ::amasun00 6.99 - Date::Manip::TZ::ambahi00 6.99 - Date::Manip::TZ::ambahi01 6.99 - Date::Manip::TZ::ambarb00 6.99 - Date::Manip::TZ::ambele00 6.99 - Date::Manip::TZ::ambeli00 6.99 - Date::Manip::TZ::ambeul00 6.99 - Date::Manip::TZ::amboa_00 6.99 - Date::Manip::TZ::ambogo00 6.99 - Date::Manip::TZ::ambois00 6.99 - Date::Manip::TZ::ambuen00 6.99 - Date::Manip::TZ::amcamb00 6.99 - Date::Manip::TZ::amcamp00 6.99 - Date::Manip::TZ::amcanc00 6.99 - Date::Manip::TZ::amcara00 6.99 - Date::Manip::TZ::amcata00 6.99 - Date::Manip::TZ::amcaye00 6.99 - Date::Manip::TZ::amcent00 6.99 - Date::Manip::TZ::amchic00 6.99 - Date::Manip::TZ::amchih00 6.99 - Date::Manip::TZ::amciud00 6.99 - Date::Manip::TZ::amcord00 6.99 - Date::Manip::TZ::amcost00 6.99 - Date::Manip::TZ::amcoyh00 6.99 - Date::Manip::TZ::amcuia00 6.99 - Date::Manip::TZ::amdanm00 6.99 - Date::Manip::TZ::amdaws00 6.99 - Date::Manip::TZ::amdaws01 6.99 - Date::Manip::TZ::amdenv00 6.99 - Date::Manip::TZ::amdetr00 6.99 - Date::Manip::TZ::amedmo00 6.99 - Date::Manip::TZ::ameiru00 6.99 - Date::Manip::TZ::amel_s00 6.99 - Date::Manip::TZ::amfort00 6.99 - Date::Manip::TZ::amfort01 6.99 - Date::Manip::TZ::amglac00 6.99 - Date::Manip::TZ::amgoos00 6.99 - Date::Manip::TZ::amgran00 6.99 - Date::Manip::TZ::amguat00 6.99 - Date::Manip::TZ::amguay00 6.99 - Date::Manip::TZ::amguya00 6.99 - Date::Manip::TZ::amhali00 6.99 - Date::Manip::TZ::amhava00 6.99 - Date::Manip::TZ::amherm00 6.99 - Date::Manip::TZ::amindi00 6.99 - Date::Manip::TZ::aminuv00 6.99 - Date::Manip::TZ::amiqal00 6.99 - Date::Manip::TZ::amjama00 6.99 - Date::Manip::TZ::amjuju00 6.99 - Date::Manip::TZ::amjune00 6.99 - Date::Manip::TZ::amknox00 6.99 - Date::Manip::TZ::amla_p00 6.99 - Date::Manip::TZ::amla_r00 6.99 - Date::Manip::TZ::amlima00 6.99 - Date::Manip::TZ::amlos_00 6.99 - Date::Manip::TZ::amloui00 6.99 - Date::Manip::TZ::ammace00 6.99 - Date::Manip::TZ::ammana00 6.99 - Date::Manip::TZ::ammana01 6.99 - Date::Manip::TZ::ammare00 6.99 - Date::Manip::TZ::ammart00 6.99 - Date::Manip::TZ::ammata00 6.99 - Date::Manip::TZ::ammaza00 6.99 - Date::Manip::TZ::ammend00 6.99 - Date::Manip::TZ::ammeno00 6.99 - Date::Manip::TZ::ammeri00 6.99 - Date::Manip::TZ::ammetl00 6.99 - Date::Manip::TZ::ammexi00 6.99 - Date::Manip::TZ::ammiqu00 6.99 - Date::Manip::TZ::ammonc00 6.99 - Date::Manip::TZ::ammont00 6.99 - Date::Manip::TZ::ammont01 6.99 - Date::Manip::TZ::ammont02 6.99 - Date::Manip::TZ::amnew_00 6.99 - Date::Manip::TZ::amnew_01 6.99 - Date::Manip::TZ::amnome00 6.99 - Date::Manip::TZ::amnoro00 6.99 - Date::Manip::TZ::amnuuk00 6.99 - Date::Manip::TZ::amojin00 6.99 - Date::Manip::TZ::ampana00 6.99 - Date::Manip::TZ::ampara00 6.99 - Date::Manip::TZ::ampete00 6.99 - Date::Manip::TZ::amphoe00 6.99 - Date::Manip::TZ::amport00 6.99 - Date::Manip::TZ::amport01 6.99 - Date::Manip::TZ::ampuer00 6.99 - Date::Manip::TZ::ampunt00 6.99 - Date::Manip::TZ::amrank00 6.99 - Date::Manip::TZ::amreci00 6.99 - Date::Manip::TZ::amregi00 6.99 - Date::Manip::TZ::amreso00 6.99 - Date::Manip::TZ::amrio_00 6.99 - Date::Manip::TZ::amrio_01 6.99 - Date::Manip::TZ::amsalt00 6.99 - Date::Manip::TZ::amsan_00 6.99 - Date::Manip::TZ::amsan_01 6.99 - Date::Manip::TZ::amsant00 6.99 - Date::Manip::TZ::amsant01 6.99 - Date::Manip::TZ::amsant02 6.99 - Date::Manip::TZ::amsao_00 6.99 - Date::Manip::TZ::amscor00 6.99 - Date::Manip::TZ::amsitk00 6.99 - Date::Manip::TZ::amst_j00 6.99 - Date::Manip::TZ::amswif00 6.99 - Date::Manip::TZ::amtegu00 6.99 - Date::Manip::TZ::amtell00 6.99 - Date::Manip::TZ::amthul00 6.99 - Date::Manip::TZ::amtiju00 6.99 - Date::Manip::TZ::amtoro00 6.99 - Date::Manip::TZ::amtucu00 6.99 - Date::Manip::TZ::amushu00 6.99 - Date::Manip::TZ::amvanc00 6.99 - Date::Manip::TZ::amveva00 6.99 - Date::Manip::TZ::amvinc00 6.99 - Date::Manip::TZ::amwhit00 6.99 - Date::Manip::TZ::amwina00 6.99 - Date::Manip::TZ::amwinn00 6.99 - Date::Manip::TZ::amyaku00 6.99 - Date::Manip::TZ::ancase00 6.99 - Date::Manip::TZ::andavi00 6.99 - Date::Manip::TZ::anmacq00 6.99 - Date::Manip::TZ::anmaws00 6.99 - Date::Manip::TZ::anpalm00 6.99 - Date::Manip::TZ::anroth00 6.99 - Date::Manip::TZ::antrol00 6.99 - Date::Manip::TZ::anvost00 6.99 - Date::Manip::TZ::asalma00 6.99 - Date::Manip::TZ::asamma00 6.99 - Date::Manip::TZ::asanad00 6.99 - Date::Manip::TZ::asaqta00 6.99 - Date::Manip::TZ::asaqto00 6.99 - Date::Manip::TZ::asashg00 6.99 - Date::Manip::TZ::asatyr00 6.99 - Date::Manip::TZ::asbagh00 6.99 - Date::Manip::TZ::asbaku00 6.99 - Date::Manip::TZ::asbang00 6.99 - Date::Manip::TZ::asbarn00 6.99 - Date::Manip::TZ::asbeir00 6.99 - Date::Manip::TZ::asbish00 6.99 - Date::Manip::TZ::aschit00 6.99 - Date::Manip::TZ::ascolo00 6.99 - Date::Manip::TZ::asdama00 6.99 - Date::Manip::TZ::asdhak00 6.99 - Date::Manip::TZ::asdili00 6.99 - Date::Manip::TZ::asduba00 6.99 - Date::Manip::TZ::asdush00 6.99 - Date::Manip::TZ::asfama00 6.99 - Date::Manip::TZ::asgaza00 6.99 - Date::Manip::TZ::ashebr00 6.99 - Date::Manip::TZ::asho_c00 6.99 - Date::Manip::TZ::ashong00 6.99 - Date::Manip::TZ::ashovd00 6.99 - Date::Manip::TZ::asirku00 6.99 - Date::Manip::TZ::asjaka00 6.99 - Date::Manip::TZ::asjaya00 6.99 - Date::Manip::TZ::asjeru00 6.99 - Date::Manip::TZ::askabu00 6.99 - Date::Manip::TZ::askamc00 6.99 - Date::Manip::TZ::askara00 6.99 - Date::Manip::TZ::askath00 6.99 - Date::Manip::TZ::askhan00 6.99 - Date::Manip::TZ::askolk00 6.99 - Date::Manip::TZ::askras00 6.99 - Date::Manip::TZ::askuch00 6.99 - Date::Manip::TZ::asmaca00 6.99 - Date::Manip::TZ::asmaga00 6.99 - Date::Manip::TZ::asmaka00 6.99 - Date::Manip::TZ::asmani00 6.99 - Date::Manip::TZ::asnico00 6.99 - Date::Manip::TZ::asnovo00 6.99 - Date::Manip::TZ::asnovo01 6.99 - Date::Manip::TZ::asomsk00 6.99 - Date::Manip::TZ::asoral00 6.99 - Date::Manip::TZ::aspont00 6.99 - Date::Manip::TZ::aspyon00 6.99 - Date::Manip::TZ::asqata00 6.99 - Date::Manip::TZ::asqost00 6.99 - Date::Manip::TZ::asqyzy00 6.99 - Date::Manip::TZ::asriya00 6.99 - Date::Manip::TZ::assakh00 6.99 - Date::Manip::TZ::assama00 6.99 - Date::Manip::TZ::asseou00 6.99 - Date::Manip::TZ::asshan00 6.99 - Date::Manip::TZ::assing00 6.99 - Date::Manip::TZ::assred00 6.99 - Date::Manip::TZ::astaip00 6.99 - Date::Manip::TZ::astash00 6.99 - Date::Manip::TZ::astbil00 6.99 - Date::Manip::TZ::astehr00 6.99 - Date::Manip::TZ::asthim00 6.99 - Date::Manip::TZ::astoky00 6.99 - Date::Manip::TZ::astoms00 6.99 - Date::Manip::TZ::asulaa00 6.99 - Date::Manip::TZ::asurum00 6.99 - Date::Manip::TZ::asustm00 6.99 - Date::Manip::TZ::asvlad00 6.99 - Date::Manip::TZ::asyaku00 6.99 - Date::Manip::TZ::asyang00 6.99 - Date::Manip::TZ::asyeka00 6.99 - Date::Manip::TZ::asyere00 6.99 - Date::Manip::TZ::atazor00 6.99 - Date::Manip::TZ::atberm00 6.99 - Date::Manip::TZ::atcana00 6.99 - Date::Manip::TZ::atcape00 6.99 - Date::Manip::TZ::atfaro00 6.99 - Date::Manip::TZ::atmade00 6.99 - Date::Manip::TZ::atsout00 6.99 - Date::Manip::TZ::atstan00 6.99 - Date::Manip::TZ::auadel00 6.99 - Date::Manip::TZ::aubris00 6.99 - Date::Manip::TZ::aubrok00 6.99 - Date::Manip::TZ::audarw00 6.99 - Date::Manip::TZ::aueucl00 6.99 - Date::Manip::TZ::auhoba00 6.99 - Date::Manip::TZ::aulind00 6.99 - Date::Manip::TZ::aulord00 6.99 - Date::Manip::TZ::aumelb00 6.99 - Date::Manip::TZ::aupert00 6.99 - Date::Manip::TZ::ausydn00 6.99 - Date::Manip::TZ::b00 6.99 - Date::Manip::TZ::c00 6.99 - Date::Manip::TZ::d00 6.99 - Date::Manip::TZ::e00 6.99 - Date::Manip::TZ::etgmt00 6.99 - Date::Manip::TZ::etgmtm00 6.99 - Date::Manip::TZ::etgmtm01 6.99 - Date::Manip::TZ::etgmtm02 6.99 - Date::Manip::TZ::etgmtm03 6.99 - Date::Manip::TZ::etgmtm04 6.99 - Date::Manip::TZ::etgmtm05 6.99 - Date::Manip::TZ::etgmtm06 6.99 - Date::Manip::TZ::etgmtm07 6.99 - Date::Manip::TZ::etgmtm08 6.99 - Date::Manip::TZ::etgmtm09 6.99 - Date::Manip::TZ::etgmtm10 6.99 - Date::Manip::TZ::etgmtm11 6.99 - Date::Manip::TZ::etgmtm12 6.99 - Date::Manip::TZ::etgmtm13 6.99 - Date::Manip::TZ::etgmtp00 6.99 - Date::Manip::TZ::etgmtp01 6.99 - Date::Manip::TZ::etgmtp02 6.99 - Date::Manip::TZ::etgmtp03 6.99 - Date::Manip::TZ::etgmtp04 6.99 - Date::Manip::TZ::etgmtp05 6.99 - Date::Manip::TZ::etgmtp06 6.99 - Date::Manip::TZ::etgmtp07 6.99 - Date::Manip::TZ::etgmtp08 6.99 - Date::Manip::TZ::etgmtp09 6.99 - Date::Manip::TZ::etgmtp10 6.99 - Date::Manip::TZ::etgmtp11 6.99 - Date::Manip::TZ::etutc00 6.99 - Date::Manip::TZ::euando00 6.99 - Date::Manip::TZ::euastr00 6.99 - Date::Manip::TZ::euathe00 6.99 - Date::Manip::TZ::eubelg00 6.99 - Date::Manip::TZ::euberl00 6.99 - Date::Manip::TZ::eubrus00 6.99 - Date::Manip::TZ::eubuch00 6.99 - Date::Manip::TZ::eubuda00 6.99 - Date::Manip::TZ::euchis00 6.99 - Date::Manip::TZ::eudubl00 6.99 - Date::Manip::TZ::eugibr00 6.99 - Date::Manip::TZ::euhels00 6.99 - Date::Manip::TZ::euista00 6.99 - Date::Manip::TZ::eukali00 6.99 - Date::Manip::TZ::eukiro00 6.99 - Date::Manip::TZ::eukyiv00 6.99 - Date::Manip::TZ::eulisb00 6.99 - Date::Manip::TZ::eulond00 6.99 - Date::Manip::TZ::eumadr00 6.99 - Date::Manip::TZ::eumalt00 6.99 - Date::Manip::TZ::eumins00 6.99 - Date::Manip::TZ::eumosc00 6.99 - Date::Manip::TZ::eupari00 6.99 - Date::Manip::TZ::euprag00 6.99 - Date::Manip::TZ::euriga00 6.99 - Date::Manip::TZ::eurome00 6.99 - Date::Manip::TZ::eusama00 6.99 - Date::Manip::TZ::eusara00 6.99 - Date::Manip::TZ::eusimf00 6.99 - Date::Manip::TZ::eusofi00 6.99 - Date::Manip::TZ::eutall00 6.99 - Date::Manip::TZ::eutira00 6.99 - Date::Manip::TZ::euulya00 6.99 - Date::Manip::TZ::euvien00 6.99 - Date::Manip::TZ::euviln00 6.99 - Date::Manip::TZ::euvolg00 6.99 - Date::Manip::TZ::euwars00 6.99 - Date::Manip::TZ::euzuri00 6.99 - Date::Manip::TZ::f00 6.99 - Date::Manip::TZ::g00 6.99 - Date::Manip::TZ::h00 6.99 - Date::Manip::TZ::i00 6.99 - Date::Manip::TZ::inchag00 6.99 - Date::Manip::TZ::inmald00 6.99 - Date::Manip::TZ::inmaur00 6.99 - Date::Manip::TZ::k00 6.99 - Date::Manip::TZ::l00 6.99 - Date::Manip::TZ::m00 6.99 - Date::Manip::TZ::n00 6.99 - Date::Manip::TZ::o00 6.99 - Date::Manip::TZ::p00 6.99 - Date::Manip::TZ::paapia00 6.99 - Date::Manip::TZ::paauck00 6.99 - Date::Manip::TZ::paboug00 6.99 - Date::Manip::TZ::pachat00 6.99 - Date::Manip::TZ::paeast00 6.99 - Date::Manip::TZ::paefat00 6.99 - Date::Manip::TZ::pafaka00 6.99 - Date::Manip::TZ::pafiji00 6.99 - Date::Manip::TZ::pagala00 6.99 - Date::Manip::TZ::pagamb00 6.99 - Date::Manip::TZ::paguad00 6.99 - Date::Manip::TZ::paguam00 6.99 - Date::Manip::TZ::pahono00 6.99 - Date::Manip::TZ::pakant00 6.99 - Date::Manip::TZ::pakiri00 6.99 - Date::Manip::TZ::pakosr00 6.99 - Date::Manip::TZ::pakwaj00 6.99 - Date::Manip::TZ::pamarq00 6.99 - Date::Manip::TZ::panaur00 6.99 - Date::Manip::TZ::paniue00 6.99 - Date::Manip::TZ::panorf00 6.99 - Date::Manip::TZ::panoum00 6.99 - Date::Manip::TZ::papago00 6.99 - Date::Manip::TZ::papala00 6.99 - Date::Manip::TZ::papitc00 6.99 - Date::Manip::TZ::paport00 6.99 - Date::Manip::TZ::pararo00 6.99 - Date::Manip::TZ::patahi00 6.99 - Date::Manip::TZ::patara00 6.99 - Date::Manip::TZ::patong00 6.99 - Date::Manip::TZ::q00 6.99 - Date::Manip::TZ::r00 6.99 - Date::Manip::TZ::s00 6.99 - Date::Manip::TZ::t00 6.99 - Date::Manip::TZ::u00 6.99 - Date::Manip::TZ::ut00 6.99 - Date::Manip::TZ::v00 6.99 - Date::Manip::TZ::w00 6.99 - Date::Manip::TZ::x00 6.99 - Date::Manip::TZ::y00 6.99 - Date::Manip::TZ::z00 6.99 - Date::Manip::TZ_Base 6.99 - Date::Manip::TZdata 6.99 - Date::Manip::Zones 6.99 - requirements: - Carp 0 - Cwd 0 - Data::Dumper 0 - Encode 0 - ExtUtils::MakeMaker 6.67_01 - File::Find 0 - File::Spec 0 - IO::File 0 - Storable 0 - perl 5.006 - utf8 0 DateTime-1.66 pathname: D/DR/DROLSKY/DateTime-1.66.tar.gz provides: @@ -2056,23 +1172,6 @@ DISTRIBUTIONS strict 0 warnings 0 warnings::register 0 - DateTime-Event-ICal-0.13 - pathname: F/FG/FGLOCK/DateTime-Event-ICal-0.13.tar.gz - provides: - DateTime::Event::ICal 0.13 - requirements: - DateTime 0 - DateTime::Event::Recurrence 0.11 - ExtUtils::MakeMaker 0 - DateTime-Event-Recurrence-0.19 - pathname: F/FG/FGLOCK/DateTime-Event-Recurrence-0.19.tar.gz - provides: - DateTime::Event::Recurrence 0.19 - DateTime::Set::ICal 0.19 - requirements: - DateTime 0.27 - DateTime::Set 0.3600 - ExtUtils::MakeMaker 0 DateTime-Format-Builder-0.83 pathname: D/DR/DROLSKY/DateTime-Format-Builder-0.83.tar.gz provides: @@ -2093,15 +1192,6 @@ DISTRIBUTIONS parent 0 strict 0 warnings 0 - DateTime-Format-DateManip-0.04 - pathname: B/BB/BBENNETT/dt-fmt-datemanip/DateTime-Format-DateManip-0.04.tar.gz - provides: - DateTime::Format::DateManip 0.04 - requirements: - Carp 0 - Date::Manip 0 - DateTime 0 - Test::More 0 DateTime-Format-Duration-1.06 pathname: E/ET/ETHER/DateTime-Format-Duration-1.06.tar.gz provides: @@ -2118,38 +1208,6 @@ DISTRIBUTIONS perl 5.006 strict 0 warnings 0 - DateTime-Format-Flexible-0.37 - pathname: T/TH/THINC/DateTime-Format-Flexible-0.37.tar.gz - provides: - DateTime::Format::Flexible 0.37 - DateTime::Format::Flexible::lang undef - DateTime::Format::Flexible::lang::de undef - DateTime::Format::Flexible::lang::en undef - DateTime::Format::Flexible::lang::es undef - requirements: - DateTime 0 - DateTime::Format::Builder 0.74 - DateTime::TimeZone 0 - ExtUtils::MakeMaker 0 - DateTime-Format-HTTP-0.43 - pathname: C/CK/CKRAS/DateTime-Format-HTTP-0.43.tar.gz - provides: - DateTime::Format::HTTP 0.43 - requirements: - DateTime 0.17 - HTTP::Date 1.44 - Test::More 0.47 - DateTime-Format-ICal-0.09 - pathname: D/DR/DROLSKY/DateTime-Format-ICal-0.09.tar.gz - provides: - DateTime::Format::ICal 0.09 - requirements: - DateTime 0.17 - DateTime::Event::ICal 0.03 - DateTime::Set 0.1 - DateTime::TimeZone 0.22 - Module::Build 0 - Params::Validate 0.59 DateTime-Format-MySQL-0.08 pathname: X/XM/XMIKEW/DateTime-Format-MySQL-0.08.tar.gz provides: @@ -2158,41 +1216,6 @@ DISTRIBUTIONS DateTime 0 DateTime::Format::Builder 0.6 Module::Build 0 - DateTime-Format-Natural-1.27 - pathname: S/SC/SCHUBIGER/DateTime-Format-Natural-1.27.tar.gz - provides: - DateTime::Format::Natural 1.27 - DateTime::Format::Natural::Calc 1.50 - DateTime::Format::Natural::Calendar 0.02 - DateTime::Format::Natural::Calendar::gregorian undef - DateTime::Format::Natural::Calendar::julian undef - DateTime::Format::Natural::Compat 0.08 - DateTime::Format::Natural::Duration 0.08 - DateTime::Format::Natural::Duration::Checks 0.07 - DateTime::Format::Natural::Expand 0.04 - DateTime::Format::Natural::Extract 0.14 - DateTime::Format::Natural::Formatted 0.12 - DateTime::Format::Natural::Helpers 0.08 - DateTime::Format::Natural::Lang::Base 1.09 - DateTime::Format::Natural::Lang::EN 1.78 - DateTime::Format::Natural::Rewrite 0.10 - DateTime::Format::Natural::Test 0.15 - DateTime::Format::Natural::Utils 0.08 - DateTime::Format::Natural::Wrappers 0.03 - requirements: - Carp 0 - Clone 0 - DateTime 0 - DateTime::HiRes 0 - DateTime::TimeZone 0 - Exporter 0 - Getopt::Long 0 - List::Util 1.33 - Params::Validate 1.15 - Scalar::Util 0 - Storable 0 - Term::ReadLine 0 - boolean 0 DateTime-Format-SQLite-0.11 pathname: C/CF/CFAERBER/DateTime-Format-SQLite-0.11.tar.gz provides: @@ -2227,16 +1250,6 @@ DISTRIBUTIONS parent 0 strict 0 warnings 0 - DateTime-HiRes-0.04 - pathname: D/DR/DROLSKY/DateTime-HiRes-0.04.tar.gz - provides: - DateTime::HiRes 0.04 - requirements: - DateTime 0 - ExtUtils::MakeMaker 0 - Time::HiRes 0 - strict 0 - warnings 0 DateTime-Locale-1.46 pathname: D/DR/DROLSKY/DateTime-Locale-1.46.tar.gz provides: @@ -2263,18 +1276,6 @@ DISTRIBUTIONS perl 5.008004 strict 0 warnings 0 - DateTime-Set-0.3900 - pathname: F/FG/FGLOCK/DateTime-Set-0.3900.tar.gz - provides: - DateTime::Set 0.3900 - DateTime::Span undef - DateTime::SpanSet undef - Set::Infinite::_recurrence undef - requirements: - DateTime 0.12 - Params::Validate 0 - Set::Infinite 0.59 - Test::More 0 DateTime-TimeZone-2.69 pathname: D/DR/DROLSKY/DateTime-TimeZone-2.69.tar.gz provides: @@ -2624,29 +1625,6 @@ DISTRIBUTIONS perl 5.008004 strict 0 warnings 0 - DateTimeX-Easy-0.092 - pathname: J/JJ/JJNAPIORK/DateTimeX-Easy-0.092.tar.gz - provides: - DateTimeX::Easy 0.092 - requirements: - Carp 0 - Date::Parse 0 - DateTime 0 - DateTime::Format::DateManip 0 - DateTime::Format::Flexible 0 - DateTime::Format::ICal 0 - DateTime::Format::Natural 0 - DateTime::TimeZone 2.63 - Exporter 0 - ExtUtils::MakeMaker 0 - Scalar::Util 0 - Time::Zone 0 - YAML 0 - base 0 - constant 0 - strict 0 - vars 0 - warnings 0 Devel-CheckCompiler-0.07 pathname: S/SY/SYOHEX/Devel-CheckCompiler-0.07.tar.gz provides: @@ -2743,14 +1721,6 @@ DISTRIBUTIONS requirements: ExtUtils::MakeMaker 0 File::Spec 0 - Digest-MD5-File-0.08 - pathname: D/DM/DMUEY/Digest-MD5-File-0.08.tar.gz - provides: - Digest::MD5::File 0.08 - requirements: - Digest::MD5 0 - ExtUtils::MakeMaker 0 - LWP::UserAgent 0 Dist-CheckConflicts-0.11 pathname: D/DO/DOY/Dist-CheckConflicts-0.11.tar.gz provides: @@ -3111,18 +2081,6 @@ DISTRIBUTIONS Test::Assert 0 Test::Unit::Lite 0.07 perl 5.006 - File-Find-Rule-0.35 - pathname: R/RC/RCLAMP/File-Find-Rule-0.35.tar.gz - provides: - File::Find::Rule 0.35 - File::Find::Rule::Test::ATeam undef - requirements: - ExtUtils::MakeMaker 0 - File::Find 0 - File::Spec 0 - Number::Compare 0 - Test::More 0 - Text::Glob 0.07 File-Listing-6.16 pathname: P/PL/PLICEASE/File-Listing-6.16.tar.gz provides: @@ -3416,19 +2374,6 @@ DISTRIBUTIONS ExtUtils::MakeMaker 6.36 Socket 1.94 Test::More 0 - HTTP-Thin-0.006 - pathname: P/PE/PERIGRIN/HTTP-Thin-0.006.tar.gz - provides: - HTTP::Thin 0.006 - requirements: - Class::Method::Modifiers 0 - ExtUtils::MakeMaker 6.30 - HTTP::Response 0 - HTTP::Tiny 0 - Hash::MultiValue 0 - Safe::Isa 0 - parent 0 - warnings 0 Hash-Merge-0.302 pathname: H/HE/HERMES/Hash-Merge-0.302.tar.gz provides: @@ -3633,13 +2578,6 @@ DISTRIBUTIONS base 0 perl 5.008001 strict 0 - LWP-UserAgent-Determined-1.07 - pathname: A/AL/ALEXMV/LWP-UserAgent-Determined-1.07.tar.gz - provides: - LWP::UserAgent::Determined 1.07 - requirements: - ExtUtils::MakeMaker 0 - LWP 0 Linux-Pid-0.04 pathname: R/RG/RGARCIA/Linux-Pid-0.04.tar.gz provides: @@ -3835,13 +2773,6 @@ DISTRIBUTIONS ExtUtils::MakeMaker 0 perl 5.008001 utf8 0 - MIME-Base64-URLSafe-0.01 - pathname: K/KA/KAZUHO/MIME-Base64-URLSafe-0.01.tar.gz - provides: - MIME::Base64::URLSafe 0.01 - requirements: - ExtUtils::MakeMaker 0 - MIME::Base64 0 MIME-Types-2.30 pathname: M/MA/MARKOV/MIME-Types-2.30.tar.gz provides: @@ -4775,22 +3706,6 @@ DISTRIBUTIONS perl 5.006 strict 0 warnings 0 - MooseX-StrictConstructor-0.21 - pathname: D/DR/DROLSKY/MooseX-StrictConstructor-0.21.tar.gz - provides: - MooseX::StrictConstructor 0.21 - MooseX::StrictConstructor::Trait::Class 0.21 - MooseX::StrictConstructor::Trait::Method::Constructor 0.21 - requirements: - B 0 - ExtUtils::MakeMaker 0 - Moose 0.94 - Moose::Exporter 0 - Moose::Role 0 - Moose::Util::MetaRole 0 - namespace::autoclean 0 - strict 0 - warnings 0 MooseX-Types-0.51 pathname: E/ET/ETHER/MooseX-Types-0.51.tar.gz provides: @@ -4825,43 +3740,6 @@ DISTRIBUTIONS perl 5.008 strict 0 warnings 0 - MooseX-Types-DateTime-0.14 - pathname: E/ET/ETHER/MooseX-Types-DateTime-0.14.tar.gz - provides: - MooseX::Types::DateTime 0.14 - requirements: - DateTime 0.4302 - DateTime::Duration 0.4302 - DateTime::Locale 0.4001 - DateTime::TimeZone 0.95 - Module::Build::Tiny 0.034 - Moose 0.41 - MooseX::Types 0.30 - MooseX::Types::Moose 0.30 - if 0 - namespace::clean 0.19 - perl 5.008003 - strict 0 - warnings 0 - MooseX-Types-DateTime-MoreCoercions-0.15 - pathname: E/ET/ETHER/MooseX-Types-DateTime-MoreCoercions-0.15.tar.gz - provides: - MooseX::Types::DateTime::MoreCoercions 0.15 - requirements: - DateTime 0.4302 - DateTime::Duration 0.4302 - DateTimeX::Easy 0.085 - Module::Build::Tiny 0.007 - Moose 0.41 - MooseX::Types 0.04 - MooseX::Types::DateTime 0.07 - MooseX::Types::Moose 0.04 - Time::Duration::Parse 0.06 - if 0 - namespace::clean 0.19 - perl 5.006 - strict 0 - warnings 0 Mouse-v2.6.2 pathname: S/SY/SYOHEX/Mouse-v2.6.2.tar.gz provides: @@ -5140,13 +4018,6 @@ DISTRIBUTIONS Net::Server 0 Server::Starter 0.02 Test::TCP 0.06 - Number-Compare-0.03 - pathname: R/RC/RCLAMP/Number-Compare-0.03.tar.gz - provides: - Number::Compare 0.03 - requirements: - ExtUtils::MakeMaker 0 - Test::More 0 Object-Pad-0.825 pathname: P/PE/PEVANS/Object-Pad-0.825.tar.gz provides: @@ -5166,17 +4037,6 @@ DISTRIBUTIONS XS::Parse::Sublike 0.35 XS::Parse::Sublike::Builder 0.35 perl 5.022 - Ouch-0.0501 - pathname: R/RI/RIZEN/Ouch-0.0501.tar.gz - provides: - Ouch 0.0501 - requirements: - Carp 0 - ExtUtils::MakeMaker 0 - Test::More 0 - Test::Trap 0 - overload 0 - parent 0 POSIX-strftime-Compiler-0.46 pathname: K/KA/KAZEBURO/POSIX-strftime-Compiler-0.46.tar.gz provides: @@ -5708,26 +4568,6 @@ DISTRIBUTIONS Digest::SHA 0 Module::Build::Tiny 0.035 Scalar::Util 0 - Ref-Util-0.204 - pathname: A/AR/ARC/Ref-Util-0.204.tar.gz - provides: - Ref::Util 0.204 - Ref::Util::PP 0.204 - requirements: - Exporter 5.57 - ExtUtils::MakeMaker 0 - Ref::Util::XS 0 - Text::ParseWords 0 - perl 5.006 - Ref-Util-XS-0.117 - pathname: X/XS/XSAWYERX/Ref-Util-XS-0.117.tar.gz - provides: - Ref::Util::XS 0.117 - requirements: - Exporter 5.57 - ExtUtils::MakeMaker 0 - XSLoader 0 - perl 5.006 Regexp-Common-2024080801 pathname: A/AB/ABIGAIL/Regexp-Common-2024080801.tar.gz provides: @@ -6044,15 +4884,6 @@ DISTRIBUTIONS Sub::Quote 0 Try::Tiny 0.04 perl 5.008001 - Safe-Isa-1.000010 - pathname: E/ET/ETHER/Safe-Isa-1.000010.tar.gz - provides: - Safe::Isa 1.000010 - requirements: - Exporter 5.57 - ExtUtils::MakeMaker 0 - Scalar::Util 0 - perl 5.006 Scope-Guard-0.21 pathname: C/CH/CHOCOLATE/Scope-Guard-0.21.tar.gz provides: @@ -6069,16 +4900,6 @@ DISTRIBUTIONS requirements: Module::Build 0.4005 perl 5.008 - Set-Infinite-0.65 - pathname: F/FG/FGLOCK/Set-Infinite-0.65.tar.gz - provides: - Set::Infinite 0.65 - Set::Infinite::Arithmetic undef - Set::Infinite::Basic undef - requirements: - ExtUtils::MakeMaker 0 - Test::More 0 - Time::Local 0 Specio-0.53 pathname: D/DR/DROLSKY/Specio-0.53.tar.gz provides: @@ -6284,15 +5105,6 @@ DISTRIBUTIONS perl 5.006 strict 0 warnings 0 - Sub-Override-0.12 - pathname: M/MV/MVSJES/Sub-Override-0.12.tar.gz - provides: - Sub::Override 0.12 - requirements: - ExtUtils::MakeMaker 0 - Scalar::Util 1.11 - Test::Fatal 0.010 - Test::More 0.47 Sub-Quote-2.006009 pathname: H/HA/HAARG/Sub-Quote-2.006009.tar.gz provides: @@ -6359,12 +5171,6 @@ DISTRIBUTIONS Scalar::Util 1.14 perl 5.006 strict 0 - Term-Encoding-0.03 - pathname: M/MI/MIYAGAWA/Term-Encoding-0.03.tar.gz - provides: - Term::Encoding 0.03 - requirements: - ExtUtils::MakeMaker 0 Term-ProgressBar-2.23 pathname: M/MA/MANWAR/Term-ProgressBar-2.23.tar.gz provides: @@ -6591,30 +5397,6 @@ DISTRIBUTIONS Try::Tiny 0.07 perl 5.012 warnings 0 - Test-LWP-UserAgent-0.036 - pathname: E/ET/ETHER/Test-LWP-UserAgent-0.036.tar.gz - provides: - Test::LWP::UserAgent 0.036 - requirements: - CPAN::Meta::Requirements 2.120620 - Carp 0 - ExtUtils::MakeMaker 0 - HTTP::Date 0 - HTTP::Request 0 - HTTP::Response 0 - HTTP::Status 0 - LWP::UserAgent 0 - Module::Metadata 0 - Safe::Isa 0 - Scalar::Util 0 - Storable 0 - Try::Tiny 0 - URI 1.62 - namespace::clean 0.19 - parent 0 - perl 5.006 - strict 0 - warnings 0 Test-Mock-Class-0.0303 pathname: D/DE/DEXTER/Test-Mock-Class-0.0303.tar.gz provides: @@ -6648,15 +5430,6 @@ DISTRIBUTIONS perl 5.008 strict 0 warnings 0 - Test-MockRandom-1.01 - pathname: D/DA/DAGOLDEN/Test-MockRandom-1.01.tar.gz - provides: - Test::MockRandom 1.01 - requirements: - Carp 0 - ExtUtils::MakeMaker 6.17 - strict 0 - warnings 0 Test-Most-0.42 pathname: D/DC/DCANTRELL/Test-Most-0.42.tar.gz provides: @@ -6684,17 +5457,6 @@ DISTRIBUTIONS strict 0 vars 0 warnings 0 - Test-Pod-1.52 - pathname: E/ET/ETHER/Test-Pod-1.52.tar.gz - provides: - Test::Pod 1.52 - requirements: - ExtUtils::MakeMaker 0 - File::Find 0 - Pod::Simple 3.05 - Test::Builder::Tester 1.02 - Test::More 0.62 - perl 5.008 Test-Pod-Coverage-1.10 pathname: N/NE/NEILB/Test-Pod-Coverage-1.10.tar.gz provides: @@ -6706,15 +5468,6 @@ DISTRIBUTIONS perl 5.006 strict 0 warnings 0 - Test-Requires-0.11 - pathname: T/TO/TOKUHIROM/Test-Requires-0.11.tar.gz - provides: - Test::Requires 0.11 - requirements: - ExtUtils::MakeMaker 6.64 - Test::Builder::Module 0 - Test::More 0.47 - perl 5.006 Test-SharedFork-0.35 pathname: E/EX/EXODIST/Test-SharedFork-0.35.tar.gz provides: @@ -7054,15 +5807,6 @@ DISTRIBUTIONS Exporter 0 ExtUtils::MakeMaker 0 perl 5.006 - Text-Glob-0.11 - pathname: R/RC/RCLAMP/Text-Glob-0.11.tar.gz - provides: - Text::Glob 0.11 - requirements: - Exporter 0 - ExtUtils::MakeMaker 0 - constant 0 - perl 5.005030 Text-Trim-1.04 pathname: R/RJ/RJT/Text-Trim-1.04.tar.gz provides: @@ -7125,17 +5869,6 @@ DISTRIBUTIONS requirements: Test::More 0 perl 5.005 - Time-Duration-Parse-0.16 - pathname: N/NE/NEILB/Time-Duration-Parse-0.16.tar.gz - provides: - Time::Duration::Parse 0.16 - requirements: - Carp 0 - Exporter 5.57 - ExtUtils::MakeMaker 0 - perl 5.006 - strict 0 - warnings 0 Time-Warp-0.55 pathname: M/MA/MANWAR/Time-Warp-0.55.tar.gz provides: @@ -7726,13 +6459,6 @@ DISTRIBUTIONS perl 5.008001 strict 0 warnings 0 - boolean-0.46 - pathname: I/IN/INGY/boolean-0.46.tar.gz - provides: - boolean 0.46 - requirements: - ExtUtils::MakeMaker 0 - perl 5.008001 common-sense-3.75 pathname: M/ML/MLEHMANN/common-sense-3.75.tar.gz provides: diff --git a/lib/Lacuna/DB/Result/Empire.pm b/lib/Lacuna/DB/Result/Empire.pm index 8691d2ce..268c8ba6 100644 --- a/lib/Lacuna/DB/Result/Empire.pm +++ b/lib/Lacuna/DB/Result/Empire.pm @@ -10,11 +10,11 @@ use List::Util qw(shuffle); use Lacuna::Util qw(format_date); use Digest::SHA; use List::MoreUtils qw(uniq); -use Email::Stuff; use Email::Valid; use UUID::Tiny ':std'; use Lacuna::Constants qw(INFLATION); use PerlX::Maybe qw(provided maybe); +use Lacuna::Mailer; __PACKAGE__->table('empire'); __PACKAGE__->add_columns( @@ -984,21 +984,16 @@ sub invite_friend { $code, Lacuna->config->get('server_url').'#referral='.$code, Lacuna->config->get('server_url'); - Email::Stuff->from($self->email) - ->to($email) - ->subject('Come Play With Me') - ->text_body($message) - ->send; + my $mailer = Lacuna::Mailer->new; + $mailer->from = $self->email; + $mailer->send($email, 'Come Play With Me', $message); } sub send_email { my ($self, $subject, $message) = @_; return unless ($self->email); - Email::Stuff->from('"The Lacuna Expanse" ') - ->to($self->email) - ->subject($subject) - ->text_body($message) - ->send; + my $mailer = Lacuna::Mailer->new; + $mailer->send($self->email, $subject, $message); } sub send_message { @@ -1264,7 +1259,7 @@ before delete => sub { ); } else { - $self->email('root@localhost'); + $self->email('natalie@tlecommunity.com'); $self->send_email( 'Essentia Code', sprintf("When %s's account was deleted it had %s essentia remaining. The essentia code is %s.", diff --git a/lib/Lacuna/DB/Result/Schedule.pm b/lib/Lacuna/DB/Result/Schedule.pm index 84f9bf8d..ad74f94b 100644 --- a/lib/Lacuna/DB/Result/Schedule.pm +++ b/lib/Lacuna/DB/Result/Schedule.pm @@ -9,8 +9,6 @@ use Scalar::Util qw(weaken); use Lacuna::Util qw(format_date); use Digest::SHA; use List::MoreUtils qw(uniq); -use Email::Stuff; -use Email::Valid; use UUID::Tiny ':std'; use Lacuna::Constants qw(INFLATION); use Data::Dumper; diff --git a/lib/Lacuna/Mailer.pm b/lib/Lacuna/Mailer.pm new file mode 100644 index 00000000..fe55c453 --- /dev/null +++ b/lib/Lacuna/Mailer.pm @@ -0,0 +1,48 @@ +package Lacuna::Mailer; + +use Moose; +use utf8; +use Lacuna; +use LWP::UserAgent; +use Data::Dumper; +use MIME::Base64; + +no warnings qw(uninitialized); + +has from => ( + is => 'rw', + lazy => 1, + default => 'TLE Community ', +); + +has api_key => ( + is => 'ro', + lazy => 1, + default => sub { return Lacuna->config->get('mailgun/api_key'); }, +); + +# Sends mail using mailgun and configured API key +sub send { + my ($self, $to, $subject, $message) = @_; + + my %form = ( + from => $self->from, + to => $to, + subject => $subject, + text => $message, + ); + + my $response = LWP::UserAgent->new->post( + 'https://api.mailgun.net/v3/mail.tlecommunity.com/messages', + Content => [%form], + Authorization => 'Basic '.encode_base64('user:'.$self->api_key), + ); + + if (!$response->is_success) { + print Dumper($response); + } +} + + +no Moose; +__PACKAGE__->meta->make_immutable; diff --git a/lib/Lacuna/Web/ApiKey.pm b/lib/Lacuna/Web/ApiKey.pm index c092ae27..97384ca1 100644 --- a/lib/Lacuna/Web/ApiKey.pm +++ b/lib/Lacuna/Web/ApiKey.pm @@ -5,7 +5,7 @@ use utf8; no warnings qw(uninitialized); extends qw(Lacuna::Web); use UUID::Tiny ':std'; -use Email::Stuff; +use Lacuna::Mailer; sub www_view_stats { my ($self, $request) = @_; @@ -73,11 +73,12 @@ sub www_generate_key {

}; if ($pair->email) { - Email::Stuff->from('noreply@lacunaexpanse.com') - ->to($pair->email) - ->subject('Lacuna API Key') - ->text_body("Here is the copy of the API Key you requested.\n\nPublic Key: ".$pair->public_key."\n\nPrivate Key: ".$pair->private_key) - ->send; + my $mailer = Lacuna::Mailer->new; + $mailer->send( + $pair->email, + 'Lacuna API Key', + "Here is the copy of the API Key you requested.\n\nPublic Key: ".$pair->public_key."\n\nPrivate Key: ".$pair->private_key, + ); } return $self->wrapper($out, { title => 'Your API Key', logo => 1 }); } @@ -86,7 +87,7 @@ sub www_default { my ($self, $request) = @_; my $out = q{

Lacuna Expanse API Key Console

-
You can either equest a key or view the stats of an existing key.
+
You can either request a key or view the stats of an existing key.
-- 2.51.2