simplesoftwareio / simple-sms Goto Github PK
View Code? Open in Web Editor NEWSend and receive SMS messages with Laravel
Home Page: https://www.simplesoftware.io/docs/simple-sms
License: MIT License
Send and receive SMS messages with Laravel
Home Page: https://www.simplesoftware.io/docs/simple-sms
License: MIT License
Hi. For test i am trying to send verification code sms using the free email to sms gateway. What should i include in the $data variable ... and please share a way to send free sms. thankyou for ur help.
SMS::send('simple-sms::welcome', $data, function($sms) {
$sms->to('+25416737319');
});
code
SMS::queue('simple-sms::welcome', $data, function($sms) {
$sms->to('+15555555555');
});
I receive an error
Class 'Illuminate\Support\SerializableClosure' not found
what went wrong?
[jeremeamia/superclosure] has been removed in laravel 5.4. all queued sms notifications are failing .
See line 50 of SMSServiceProvider.php in the package. As I stated in the title, Laravel deprecated the share
method that's being used here.
/**
* Register the correct driver based on the config file.
*/
public function registerSender()
{
$this->app['sms.sender'] = $this->app->share(function ($app) {
return (new DriverManager($app))->driver();
});
}
Until this is fixed, the package is incompatible with Laravel 5.4.
Hi there, I'm migrating a project from Laravel to Lumen and can't get your component working properly.
I get the following error
FatalThrowableError in Manager.php line 77:
Too few arguments to function Illuminate\Support\Manager::createDriver(), , 0 passed in /var/www/vendor/illuminate/support/Manager.php on line 87 and exactly 1 expected
Any idea?
Class mailer is being referenced instead of sms in https://github.com/SimpleSoftwareIO/simple-sms/blob/master/src/SimpleSoftwareIO/SMS/SMS.php on line 257
$this->queue->later($delay, 'mailer@handleQueuedMessage', compact('view', 'data', 'callback'), $queue);
It would be nice if there was an easy way to write drivers for additional services and have them loaded in.
At the moment the drivers are hard coded and there's no way to specify a different driver.
Hi! I'm getting this Twilio exception when trying to queue an SMS
exception 'Services_Twilio_RestException' with message 'The requested resource /2010-04-01/Accounts//Messages.json was not found' in /PROJECT_PATH/vendor/twilio/sdk/Services/Twilio.php:297
Notice the "//" before "Messages.json". According to Twilio, my account SID should be used there.
Using SEND instead of QUEUE works fine.
I'll appreciate any help on this. Thanks!
Example: NexmoDriver has property $apiEnding
that applies to every request. Its set to type=unicode
now. People might not need unicode, its just not default param that some user requested in his issue and that issue has accepted. That param controlling max length of message, and sms is forced to be 70 chars for now.
How about delete all information about install package on laravel version 4 from readme in version 2? Juste create link to 1.* relise https://github.com/SimpleSoftwareIO/simple-sms/tree/1.1.0
Hello. I have been trying to setup the simple SMS on Laravel where I use Twilio as standalone and I get this message.
simplesoftwareio/simple-sms 3.0.1 requires twilio/sdk ~4
But Twilio is 5.8 now... Any easy ideas or fixes?
I've just pulled in this awesome service but I can't get it too work..
I keep getting the message: Driver [Selected Driver] not supported.
I've changed / choosen the twilio driver but can't get any further.
I edited both the config/sms.php file and the vendor/simplesoftwareIO/simple-sms/src/config/sms,php
My file:
return [
'driver' => 'twilio',
'from' => '+44mytwilionumber',
'callfire' => [
'app_login' => 'Your CallFire API Login',
'app_password' => 'Your CallFire API Password'
],
'eztexting' => [
'username' => 'Your EZTexting Username',
'password' => 'Your EZTexting Password'
],
'labsmobile' => [
'client' => 'Your client ID',
'username' => 'Your Usernbame',
'password' => 'Your Password',
'test' => false
],
'mozeo' => [
'company_key' => 'Your Mozeo Company Key',
'username' => 'Your Mozeo Username',
'password' => 'Your Mozeo Password'
],
'nexmo' => [
'api_key' => 'Your Nexmo api key',
'api_secret' => 'Your Nexmo api secret'
],
'twilio' => [
'account_sid' => 'twilio SID',
'auth_token' => 'twilio Key',
'verify' => true,
]
];
Any help would be greatly appreciated - I followed the step by step instructions:
"php": ">=5.5.9",
"guzzlehttp/guzzle": "~5.3|~6.0",
"simplesoftwareio/simple-sms": "~2"
when using plivo sms to send sms, throws "SMSNotSentException" not found so I soved it by defining my own "SMSNotSentException" method in "vendor/simplesoftwareio/simple-sms/src/Drivers/PlivoSMS.php".
Also define a protected $verify ...property on inside the class, outside of any methods. Else wil throw errors,
You can get the success response by adding few lines in "send: method in the same file. Just add a else block when response!=202 i.e. success.
Sending multiple messages with drivers that use the Guzzle client (like Nexmo) returns an error on the second and subsequent messages.
try {
SMS::send('Hello #1', [], function($sms) {
$sms->to('xxx');
});
SMS::send('Hello #2', [], function($sms) {
$sms->to('xxx');
});
}
catch (\GuzzleHttp\Exception\ClientException $e) {
var_dump($e->getResponse()->getBody()->getContents());
}
If you run this code, the first message will be correctly sent but you will get a "405 Not Allowed" response for the second message. The reason is that the AbstractSMS
class doesn't build a new query for each request, but appends the query to the base URL (see the buildCall
method). As a consequence, the URL is wrong on the second call, since we obtain https://rest.nexmo.com/sms/json/sms/json
instead of https://rest.nexmo.com/sms/json
.
It's not a problem to use a shared SMS instance with a single client, however each call should be independent. In my opinion, the message body, query and parameters should not be bound to the client instance.
I want to confirm if this works for Laravel 5
Hi,
I am using a Nexmo driver for sending SMS in Hebrew language. There is a problem with encoding, and to fix it I need to add a &type=unicode to HTTP requests and URL. Is there any conventional way of doing it?
InvalidArgumentException in Client.php line 387:
Passing in the "body" request option as an array to send a POST request has been deprecated.
Please use the "form_params" request option to send a application/x-www-form-urlencoded request, or a the "multipart" request option to send a multipart/form-data reque
hi how to have this
Trying to send message using this package and twilio but I keep getting this error FatalThrowableError Call to undefined method SimpleSoftwareIO\SMS\SMSServiceProvider::send()
Thank you.
It seems quite a few Laravel modules do not yet support Guzzle 6.0 (e.g. Laravel Socialite) and I get conflicts when I try to run "composer update". Does this module absolutely require Guzzle 6? Or am I missing something?
TIA,
-martin.
I got this error when using eztexting driver.
Fyi, I use the correct username and password.
Can you help me?
I want to add a new carrier, if I don't add it to the EmailSMS.php, I got error of "Carrier specified is not found." I think it is not a good way to change vendor file, is there any way to let the user configure the carrier via config file? Thanks.
Hi,
I am new to laravel. I have installed your package i have unicel credentials to send sms my concern is in which file i need to set up configuration for the above inorder to send sms.
It seems like it's an overhead to store the message text in blade files. I would assume that a lot of folks would pull the text from a database, translation file, etc. Why was this approached selected?
an error occurs when publishing the config file. please change the boot method in SMSServiceProvider from
_ public function boot()
{
$this->publishes([
__DIR__.'/../../config/sms.php' => config_path('sms.php'),
]);
}
to
public function boot()
{
$this->publishes([
__DIR__.'/config/sms.php' => config_path('sms.php'),
]);
}
because the service provider and the config folder lie on the same location
Hi,
I've installed your package in my Laravel 5.2.39 app, and successfully used it to send SMS via Twilio, so I know everything's set up correctly. Very impressed by the ease of use, and similarity to the mailer interface is a nice touch. So big thanks for your code, and releasing it as open source.
One thing's giving me problems though.
I'd like to switch to a mocked-out driver for dev environments, for cost and convenience. The Log driver described in the docs sounds ideal:
https://www.simplesoftware.io/docs/simple-sms#docs-log-driver
When I try to use that, though, I get an error:
InvalidArgumentException in Manager.php line 90: Driver [log] not supported.
in Manager.php line 90
at Manager->createDriver('log') in Manager.php line 63
at Manager->driver() in SMSServiceProvider.php line 68
at SMSServiceProvider->SimpleSoftwareIO\SMS\{closure}(object(Application)) in Container.php line 289
Looking through the DriverManager code, and in the source for your package, I note that the Drivers folder doesn't contain a LogSMS.php file or similar.
Is the Log driver still supported? If not, what do you recommend for mocking purposes? I'm wondering if I can use the email driver with a mocked-out/logging mail setup, maybe?
Thanks much,
Dave
I looked at the code and can see you are using $this->app
in order to acquire driver values.
My question is - does this support dynamic driver values? Let's say that I am creating an application and want the person to be able to choose a driver and then enter their keys in a form, which would be saved in the database.
Does this package support that? Wouldn't it be better to allow someone to use their own array of values rather than relying on config files?
Hello,
I am trying to send SMS with Zenvia and I getting:
FatalThrowableError in ZenviaSMS.php line 41:
Call to undefined method SimpleSoftwareIO\SMS\Drivers\ZenviaSMS::setUser()
This is the function I am calling.
SMS::send('teste', null, function ($sms) {
$sms->to('+5599999999999');
});
I am using Laravel 5.2, SimpleSMS 3.0.1, and Guzzle 6.0.
Any Idea what would be causing this?
Thanks!
I got the alias and and serviceproviders and then sms.php config file setup. I add "use SMS" in my controller and i get this error:
Class 'SMS' not found
I then change it to "use SimpleSoftwareIO\SMS\Facades\SMS;" then i get this error:
ReflectionException in Container.php line 734:
Class sms does not exist
Here is my function I'm trying to execute in the controller:
SMS::send('Your SMS Message', null, function($sms) { $sms->to('+15555555555'); });
Any thoughts?
I want to specify the timeout, maxTries etc when using laravel queue to send SMS, how can I configure them when calling SMS::queue?
Thanks.
I get this message:
InvalidArgumentException in FileViewFinder.php line 137:
View [This is a test!] not found.
Hello,
first thanks for this very cool library.
we hit an issue when trying to use the pretend function.
The doc says to call it statically but the definition is not static.
As a result we get an exception.
SMS::Pretend
Non-static method SimpleSoftwareIO\SMS\SMS::pretend() should not be called statically
Should the doc be updated?
Cheers!
Hi,
I want to use a sms sending service that is currently not supported by this package. How can i extend this package to use my custom driver without modifying the package source files?
Call to undefined method Illuminate\Foundation\Application::share()
I encountered this error whenever I send a message
Hello, i've tried using https://www.simplesoftware.io/docs/simple-sms
and i have the trial account for nexmo
I think the api endpoints you are using for nexmo are already outdated
example errors:
exception 'GuzzleHttp\Exception\ClientException' with message 'Client error: `GET https://rest.nexmo.com/search/messages/9378dc7e/440bd0ebef80e567` resulted in a `400 Bad Request` response:
exception 'GuzzleHttp\Exception\ClientException' with message 'Client error: `GET https://rest.nexmo.com/sms/json/search/messages/9378dc7e/440bd0ebef80e567?from=from&to=1212345678&text=test&api_key=xxxxxxxx&api_secret=xxxxxxxxxxxxxxxx` resulted in a `404 Not Found` response:
in my test i used the send sms method and also the fetch all messages. both returned 400 bad requests.
i have checked nexmo documentation and they're using different urls now
like this
https://rest.nexmo.com/sms/json?api_key=&api_secret=&to=&from=
Currently, the send
method in SMS doesn't return anything. Returning the outgoing message created inside the method could be useful (for example for testing). Note that this is done by the equivalent send
method of the Laravel Mailer class.
Hi,
I try to install it on my laravel application whic use last laravel 5.2 but have a problem. Composer return me an error:
` Problem 1
- Conclusion: remove laravel/framework v5.2.37
- Conclusion: don't install laravel/framework v5.2.37
- Conclusion: don't install laravel/framework v5.2.36
- Conclusion: don't install laravel/framework v5.2.35
- Conclusion: don't install laravel/framework v5.2.34
- Conclusion: don't install laravel/framework v5.2.33
- Conclusion: don't install laravel/framework v5.2.32
- Conclusion: don't install laravel/framework v5.2.31
- Conclusion: don't install laravel/framework v5.2.30
- Conclusion: don't install laravel/framework v5.2.29
- Conclusion: don't install laravel/framework v5.2.28
- Conclusion: don't install laravel/framework v5.2.27
- Conclusion: don't install laravel/framework v5.2.26
- Conclusion: don't install laravel/framework v5.2.25
- Conclusion: don't install illuminate/http v5.2.37
- Conclusion: don't install laravel/framework v5.2.24
- Conclusion: don't install illuminate/http v5.2.32
- Conclusion: don't install laravel/framework v5.2.23
- Conclusion: don't install illuminate/http v5.2.31
- Conclusion: don't install laravel/framework v5.2.22
- Conclusion: don't install illuminate/http v5.2.28
- Conclusion: don't install laravel/framework v5.2.21
- Conclusion: don't install illuminate/http v5.2.27
- Conclusion: don't install laravel/framework v5.2.20
- Conclusion: don't install illuminate/http v5.2.26
- Conclusion: don't install laravel/framework v5.2.19
- Conclusion: don't install illuminate/http v5.2.25
- Conclusion: don't install laravel/framework v5.2.18
- Conclusion: don't install illuminate/http v5.2.24
- Conclusion: don't install laravel/framework v5.2.17
- Conclusion: don't install illuminate/http v5.2.21
- Conclusion: don't install laravel/framework v5.2.16
- Conclusion: don't install illuminate/http v5.2.19
- Conclusion: don't install laravel/framework v5.2.15
- Conclusion: don't install laravel/framework v5.2.14
- Conclusion: don't install laravel/framework v5.2.13
- Conclusion: don't install illuminate/http v5.2.0
- Conclusion: don't install laravel/framework v5.2.12
- Conclusion: remove laravelcollective/html v5.2.4
- Conclusion: don't install illuminate/support v5.1.31
- Conclusion: don't install laravel/framework v5.2.11
- Conclusion: don't install illuminate/http v5.2.7
- Conclusion: don't install laravel/framework v5.2.10
- Conclusion: don't install illuminate/http v5.2.6
- Conclusion: don't install laravel/framework v5.2.9
- Conclusion: don't install laravelcollective/html v5.2.4
- Conclusion: don't install laravel/framework v5.2.8
- Conclusion: don't install laravelcollective/html v5.2.3
- Conclusion: don't install laravel/framework v5.2.7
- Conclusion: don't install laravelcollective/html v5.2.2
- Conclusion: don't install laravel/framework v5.2.6
- Conclusion: don't install laravelcollective/html v5.2.1
- Conclusion: don't install laravel/framework v5.2.5
- Conclusion: don't install illuminate/support v5.1.30
- Conclusion: don't install laravel/framework v5.2.4
- Conclusion: don't install laravel/framework v5.2.3
- Conclusion: don't install laravel/framework v5.2.2
- Installation request for spatie/laravel-backup ~3.5 -> satisfiable by spatie/laravel-backup[3.5.0, 3.6.0, 3.6.1,
- Installation request for laravelcollective/html 5.2.* -> satisfiable by laravelcollective/html[v5.2, v5.2.1, v5.2
- Conclusion: don't install illuminate/support v5.1.28
- Installation request for laravel/framework 5.2.* -> satisfiable by laravel/framework[v5.2.0, v5.2.1, v5.2.10, v5.
19, v5.2.2, v5.2.20, v5.2.21, v5.2.22, v5.2.23, v5.2.24, v5.2.25, v5.2.26, v5.2.27, v5.2.28, v5.2.29, v5.2.3, v5.2.30,
2.5, v5.2.6, v5.2.7, v5.2.8, v5.2.9].
- cartalyst/stripe-laravel v2.0.4 requires illuminate/support 5.0.|5.1. -> satisfiable by illuminate/support[v5.0
v5.1.16, v5.1.2, v5.1.20, v5.1.22, v5.1.25, v5.1.28, v5.1.30, v5.1.31, v5.1.6, v5.1.8].
- cartalyst/stripe-laravel v2.0.5 requires illuminate/support 5.0.|5.1. -> satisfiable by illuminate/support[v5.0
v5.1.16, v5.1.2, v5.1.20, v5.1.22, v5.1.25, v5.1.28, v5.1.30, v5.1.31, v5.1.6, v5.1.8].
- don't install laravel/framework v5.2.0|don't install illuminate/support v5.0.0
- don't install laravel/framework v5.2.0|don't install illuminate/support v5.0.22
- don't install laravel/framework v5.2.0|don't install illuminate/support v5.0.25
- don't install laravel/framework v5.2.0|don't install illuminate/support v5.0.26
- don't install laravel/framework v5.2.0|don't install illuminate/support v5.0.28
- don't install laravel/framework v5.2.0|don't install illuminate/support v5.0.33
- don't install laravel/framework v5.2.0|don't install illuminate/support v5.0.4
- don't install laravel/framework v5.2.0|don't install illuminate/support v5.1.1
- don't install laravel/framework v5.2.0|don't install illuminate/support v5.1.13
- don't install laravel/framework v5.2.0|don't install illuminate/support v5.1.16
- don't install laravel/framework v5.2.0|don't install illuminate/support v5.1.2
- don't install laravel/framework v5.2.0|don't install illuminate/support v5.1.20
- don't install laravel/framework v5.2.0|don't install illuminate/support v5.1.22
- don't install laravel/framework v5.2.0|don't install illuminate/support v5.1.25
- don't install laravel/framework v5.2.0|don't install illuminate/support v5.1.6
- don't install laravel/framework v5.2.0|don't install illuminate/support v5.1.8
- laravelcollective/html v5.2 requires illuminate/http 5.2.* -> satisfiable by laravel/framework[v5.2.37, v5.2.0, v
.17, v5.2.18, v5.2.19, v5.2.2, v5.2.20, v5.2.21, v5.2.22, v5.2.23, v5.2.24, v5.2.25, v5.2.26, v5.2.27, v5.2.28, v5.2.29
5.2.4, v5.2.5, v5.2.6, v5.2.7, v5.2.8, v5.2.9], illuminate/http[v5.2.0, v5.2.19, v5.2.21, v5.2.24, v5.2.25, v5.2.26, v5
- Conclusion: don't install laravel/framework v5.2.1|install illuminate/support v5.1.28|install illuminate/support
- Conclusion: don't install guzzlehttp/guzzle 6.2.0|install cartalyst/stripe-laravel v2.0.4|install cartalyst/strip
- Conclusion: don't install guzzlehttp/guzzle 6.1.1|install cartalyst/stripe-laravel v2.0.4|install cartalyst/strip
- Conclusion: don't install guzzlehttp/guzzle 6.1.0|install cartalyst/stripe-laravel v2.0.4|install cartalyst/strip
- Conclusion: don't install guzzlehttp/guzzle 6.0.2|install cartalyst/stripe-laravel v2.0.4|install cartalyst/strip
- Conclusion: don't install guzzlehttp/guzzle 6.0.1|install cartalyst/stripe-laravel v2.0.4|install cartalyst/strip
- Conclusion: remove guzzlehttp/guzzle 5.3.0|install guzzlehttp/guzzle 6.0.1|install guzzlehttp/guzzle 6.0.2|instal
tp/guzzle 6.2.0
- Conclusion: don't install cartalyst/stripe v1.0.1|install guzzlehttp/guzzle 6.0.1|install guzzlehttp/guzzle 6.0.2
uzzlehttp/guzzle 6.2.0
- Conclusion: don't install cartalyst/stripe v1.0.2|install guzzlehttp/guzzle 6.0.1|install guzzlehttp/guzzle 6.0.2
uzzlehttp/guzzle 6.2.0
- Conclusion: don't install cartalyst/stripe v1.0.3|install guzzlehttp/guzzle 6.0.1|install guzzlehttp/guzzle 6.0.2
uzzlehttp/guzzle 6.2.0
- Conclusion: don't install cartalyst/stripe v1.0.4|install guzzlehttp/guzzle 6.0.1|install guzzlehttp/guzzle 6.0.2
uzzlehttp/guzzle 6.2.0
- Conclusion: don't install cartalyst/stripe v1.0.5|install guzzlehttp/guzzle 6.0.1|install guzzlehttp/guzzle 6.0.2
uzzlehttp/guzzle 6.2.0
- Conclusion: don't install cartalyst/stripe v1.0.6|install guzzlehttp/guzzle 6.0.1|install guzzlehttp/guzzle 6.0.2
uzzlehttp/guzzle 6.2.0
- Conclusion: don't install cartalyst/stripe v1.0.7|install guzzlehttp/guzzle 6.0.1|install guzzlehttp/guzzle 6.0.2
uzzlehttp/guzzle 6.2.0
- Conclusion: don't install cartalyst/stripe v1.0.8|install guzzlehttp/guzzle 6.0.1|install guzzlehttp/guzzle 6.0.2
uzzlehttp/guzzle 6.2.0
- Conclusion: don't install cartalyst/stripe v1.0.9|install guzzlehttp/guzzle 6.0.1|install guzzlehttp/guzzle 6.0.2
uzzlehttp/guzzle 6.2.0
- Conclusion: remove cartalyst/stripe v1.0.9|install guzzlehttp/guzzle 6.0.1|install guzzlehttp/guzzle 6.0.2|instal
tp/guzzle 6.2.0
- Conclusion: remove cartalyst/stripe-laravel v2.0.3|install guzzlehttp/guzzle 6.0.1|install guzzlehttp/guzzle 6.0.
guzzlehttp/guzzle 6.2.0
- simplesoftwareio/simple-sms 2.0.0 requires guzzlehttp/guzzle ~6 -> satisfiable by guzzlehttp/guzzle[6.0.0, 6.0.1,
- simplesoftwareio/simple-sms 2.1.0 requires guzzlehttp/guzzle ~6 -> satisfiable by guzzlehttp/guzzle[6.0.0, 6.0.1,
- simplesoftwareio/simple-sms 2.1.1 requires guzzlehttp/guzzle ~6 -> satisfiable by guzzlehttp/guzzle[6.0.0, 6.0.1,
- Conclusion: don't install simplesoftwareio/simple-sms 2.1.2|don't install cartalyst/stripe v1.0.0|keep guzzlehttp
0.2|install guzzlehttp/guzzle 6.1.0|install guzzlehttp/guzzle 6.1.1|install guzzlehttp/guzzle 6.2.0
- Conclusion: don't install cartalyst/stripe v1.0.0|don't install guzzlehttp/guzzle 6.0.0|keep guzzlehttp/guzzle 5.
- cartalyst/stripe-laravel v2.0.3 requires cartalyst/stripe 1.0.* -> satisfiable by cartalyst/stripe[v1.0.9, v1.0.0
- Installation request for cartalyst/stripe-laravel ~2.0.3 -> satisfiable by cartalyst/stripe-laravel[v2.0.3, v2.0.
- Installation request for simplesoftwareio/simple-sms ~2 -> satisfiable by simplesoftwareio/simple-sms[2.0.0, 2.1.
`
Please, consider how to add the infobip driver. Because I have applications that use this platform.
I am debating on restoring this package and continuing development on this. Is there any interest in the wild of upgrading this package to Laravel 7 and moving this to Laravel's notification system?
I use it in laravel 5.4 and obtain :
[Symfony\Component\Debug\Exception\FatalErrorException]
Call to undefined method Illuminate\Foundation\Application::share()
I found the problem in file SMSService provider line 51
$this->app['sms.sender'] = $this->app->share(function ($app) {
return (new DriverManager($app))->driver();
});
but i dind't know the correct way to mede it works
A declarative, efficient, and flexible JavaScript library for building user interfaces.
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google ❤️ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.