Essayez d'obtenir de l'e-Mail de travailler dans Laravel 5
Eh bien, permettez-moi de commencer par dire que je suis assez nouveau à laravel 5. J'ai été à la recherche à jamais sur google en essayant d'obtenir un simple e-mail à envoyer juste en tapant l'URL appropriée à pas de chance. Malheureusement, la documentation là que j'ai trouvé n'était pas utile, et donne juste un aperçu(je comprends laravel 5 est nouveau, mais toujours frustrant haha). Il n'y a rien de compliqué à propos de ce que je suis en train de faire, je veux juste que trop de travail avant de me faire autre chose. J'essaie de faire ce travail avec l'aide de gmail, de plein droit maintenant, mais une fois que je que je vais tenter quelque chose comme Mailgun. C'est le code que j'ai en ce moment Le premier est en mail.php:
return [
/*
|--------------------------------------------------------------------------
| Mail Driver
|--------------------------------------------------------------------------
|
| Laravel supports both SMTP and PHP's "mail" function as drivers for the
| sending of e-mail. You may specify which one you're using throughout
| your application here. By default, Laravel is setup for SMTP mail.
|
| Supported: "smtp", "mail", "sendmail", "mailgun", "mandrill", "log"
|
*/
'driver' => env('smtp'),
/*
|--------------------------------------------------------------------------
| SMTP Host Address
|--------------------------------------------------------------------------
|
| Here you may provide the host address of the SMTP server used by your
| applications. A default option is provided that is compatible with
| the Mailgun mail service which will provide reliable deliveries.
|
*/
'host' => env('MAIL_HOST', 'smtp.gmail.com'),
/*
|--------------------------------------------------------------------------
| SMTP Host Port
|--------------------------------------------------------------------------
|
| This is the SMTP port used by your application to deliver e-mails to
| users of the application. Like the host we have set this value to
| stay compatible with the Mailgun e-mail application by default.
|
*/
'port' => env('MAIL_PORT', 587),
/*
|--------------------------------------------------------------------------
| Global "From" Address
|--------------------------------------------------------------------------
|
| You may wish for all e-mails sent by your application to be sent from
| the same address. Here, you may specify a name and address that is
| used globally for all e-mails that are sent by your application.
|
*/
'from' => ['address' =>"[email protected]" , 'name' => "example_name"],
/*
|--------------------------------------------------------------------------
| E-Mail Encryption Protocol
|--------------------------------------------------------------------------
|
| Here you may specify the encryption protocol that should be used when
| the application send e-mail messages. A sensible default using the
| transport layer security protocol should provide great security.
|
*/
'encryption' => 'tls',
/*
|--------------------------------------------------------------------------
| SMTP Server Username
|--------------------------------------------------------------------------
|
| If your SMTP server requires a username for authentication, you should
| set it here. This will get used to authenticate with your server on
| connection. You may also set the "password" value below this one.
|
*/
'username' => env('[email protected]'),
/*
|--------------------------------------------------------------------------
| SMTP Server Password
|--------------------------------------------------------------------------
|
| Here you may set the password required by your SMTP server to send out
| messages from your application. This will be given to the server on
| connection so that the application will be able to send messages.
|
*/
'password' => env('example'),
/*
|--------------------------------------------------------------------------
| Sendmail System Path
|--------------------------------------------------------------------------
|
| When using the "sendmail" driver to send e-mails, we will need to know
| the path to where Sendmail lives on this server. A default path has
| been provided here, which will work well on most of your systems.
|
*/
'sendmail' => '/usr/sbin/sendmail -bs',
/*
|--------------------------------------------------------------------------
| Mail "Pretend"
|--------------------------------------------------------------------------
|
| When this option is enabled, e-mail will not actually be sent over the
| web and will instead be written to your application's logs files so
| you may inspect the message. This is great for local development.
|
*/
'pretend' => false,
];
C'est dans mes itinéraires:
Route::get('test', function()
{
Mail::send('Email.test', function ($message)
{
$message->to('[email protected]', 'example_name')->subject('Welcome!');
});
});
J'ai aussi essayé la MailController@Sending_Email
pour le chemin.
C'est à mon MailController:
class MailController extends Controller{
public function Sending_Email()
{
$this->call('GET','Email.test');
return View('Email.test');
}
}
et de mon point de vue, est-ce simple code:
<html>
<head>
</head>
<body>
<h1>hey this is a test to see if my email system works</h1>
</body>
</html>
C'est mon erreur:
Missing argument 1 for Illuminate\Support\Manager::createDriver(), called in /vagrant/leonis/vendor/laravel/framework/src/Illuminate/Support/Manager.php on line 89 and defined
non, je suis là maintenant
Argument 2 passé pour Éclairer\Mail\Mailer::send() doit être de type tableau, objet donné, appelé dans /vagrant/leonis/vendor/laravel/framework/src/Illuminate/Support/Facades/Facade.php sur la ligne 213 et défini
Avez-vous voir ma réponse ci-dessous? Je marchais à travers ce que je crois à vos multiples questions sont, nous espérons que vous serez l'envoi de mail une fois que vous allez à travers.
vous pouvez essayer ce processus pour laravel 5.1 cela a fonctionné pour moi stackoverflow.com/a/31193005/2503722
OriginalL'auteur Vantheman6 | 2015-03-16
Vous devez vous connecter pour publier un commentaire.
Vous avez quelques problèmes en cours. Tout d'abord:
La
env
méthode ressemble à la votre .fichier env. Ma conjecture est que vous n'avez pas de "smtp" entrée dans votre .fichier env. Je voudrais simplement changer à cela:Qui devrait prendre soin de la
createDriver()
erreur.Si vous avez toujours des problèmes avec le pilote, ou, plus tard, ont des problèmes d'authentification sur le serveur SMTP, faire une vérification rapide de votre config au moment de l'exécution:
Puisque vous avez
env()
vérifier .env paramètres, puis de revenir à des valeurs par défaut, il peut être utile de voir ce que l'généré config ressemble.Maintenant, vous avez encore un problème avec la façon dont vous appelez
Mail::send
. C'est votre code:Et c'est à partir de la Laravel documentation:
Avis que le deuxième argument est un tableau. La fonction de callback doit être le troisième argument.
De la documentation:
Donc faire quelque chose comme ceci:
Et votre absolument droit qu'il a d'être que parce que c'est l'erreur que je reçois maintenant. Argument 2 passé pour Éclairer\Mail\Mailer::send() doit être de type tableau, objet donné, appelé dans /vagrant/leonis/vendor/laravel/framework/src/Illuminate/Support/Facades/Facade.php sur la ligne 213 et définie Sur une note de côté, merci beaucoup d'avoir pris le temps de l'aider, j'ai été coincé à essayer d'obtenir ce travail pendant un certain temps maintenant haha
La clé/valeur est de données que vous souhaitez passer à la vue de fichier. Souvent dans un e-mail vous pouvez avoir des choses comme "Bonjour {{client}} voici votre réception." Ainsi, dans le tableau que vous pourriez avoir
["customer" => "John Doe"]
de sorte qu'il est renseigné dans l'e-mail. N'hésitez pas à faire juste un vide[]
pour l'instant, si vous ne l'utilisez pas.ok, merde alors lol. il doit être quelque chose d'autre, parce que je l'ai fait essayer [] et je suis encore en train d'erreur, j'ai envoyé avant. Il ressemble à cet Itinéraire::get('test', function() { Mail::send('Email.test', function ($message) { $message-> ('[email protected]', [], 'exemple')->sujet ("Bienvenue!'); }); });
Montrez votre code mis à jour. Si vous mettez un tableau vide dans le deuxième argument, vous ne pouvez pas éventuellement être obtenir le même
Argument 2 passed to Illuminate\Mail\Mailer::send() must be of the type array, object given
erreur.OriginalL'auteur jszobody
Vous devrez peut-être
puis
OriginalL'auteur Harry Bosh