sub new {
my ($class, $app, $options) = @_;
+ $options ||= {};
bless {
_options => $options,
_app => $app,
template_paths => [
File::Spec->join($app->home, 'templates'),
],
+ _test => $options->{test} || 0,
}, $class;
}
return $rs;
}
+sub send_email {
+ my $self = shift;
+ my $args = {@_};
+
+ if ($self->{_test}) {
+ $self->{_test_mailque} //= [];
+ my $result = $self->app->sendmail(render_only => 1, @_);
+ $result ||= {};
+ push @{$self->{_test_mailque}}, $result;
+ }
+ return $self->app->sendmail(@_);
+}
+
sub create_message {
my $self = shift;
my $params = {@_};
# send message
my $render_params = { nickname => $the_user->{nickname},
token => $token };
- my $rs = $self->app->sendmail(to => $the_user,
- template => "message/initial_password",
- params => $render_params);
+ my $rs = $self->send_email(to => $the_user,
+ template => "message/initial_password",
+ params => $render_params);
if (!$rs) {
# error !
# send message
my $render_params = { nickname => $the_user->{nickname},
token => $token };
- my $rs = $self->app->sendmail(to => $the_user,
- template => "message/password_reset",
- params => $render_params);
+ my $rs = $self->send_email(to => $the_user,
+ template => "message/password_reset",
+ params => $render_params);
if (!$rs) {
# error !