@@ -, +, @@ number format) causes process_message_queue to fail and gracefully causes the sending to fail, instead of crashing the process and preventing emails and good sms' from being sent. --- C4/SMS.pm | 23 ++++++++++++++++------- 1 file changed, 16 insertions(+), 7 deletions(-) --- a/C4/SMS.pm +++ a/C4/SMS.pm @@ -75,19 +75,28 @@ sub send_sms { return unless $driver; # warn "using driver: $driver to send message to $params->{'destination'}"; - - # Create a sender - my $sender = SMS::Send->new( $driver, + + eval { + # Create a sender + my $sender = SMS::Send->new( $driver, _login => C4::Context->preference('SMSSendUsername'), _password => C4::Context->preference('SMSSendPassword'), ); - # Send a message - my $sent = $sender->send_sms( to => $params->{'destination'}, + # Send a message + my $sent = $sender->send_sms( to => $params->{'destination'}, text => $params->{'message'}, ); - # warn 'failure' unless $sent; - return $sent; + + # warn 'failure' unless $sent; + return $sent; + }; + #We might die because SMS::Send $driver is not defined or the sms-number has a bad format + #Catch those errors and fail the sms-sending gracefully. + if ($@) { + warn $@; + return undef; + } } =head2 driver --