我想在用戶查看頁面時向我的電子郵件發送電子郵件。
我成功完成了。Laravel未從地址發送
我的代碼如下所示:
Route::any('contact_us/send', function() {
return Mail::send('contactus.send', ['name' => 'Advaith'], function($message) {
$name = $_POST['name'];
$from = $_POST['email'];
$message->to('[email protected]')->from($from, $name)->subject('Feed Back');
//[email protected] is used in this question only
});
});
該代碼發送電子郵件到我的帳戶。
但不發送發送者的姓名和電子郵件($name
和$from
)
我甚至試圖改變變量並給予例如電子郵件給它。
我.env
文件看起來像這樣:
MAIL_DRIVER=smtp
MAIL_HOST=smtp.gmail.com
MAIL_PORT=587
[email protected]
MAIL_PASSWORD=**********
MAIL_ENCRYPTION=tls
我config/mail.php
文件看起來像這樣:
'driver' => env('MAIL_DRIVER', 'smtp'),
'host' => env('MAIL_HOST', 'smtp.gmail.com'),
'port' => env('MAIL_PORT', 587),
'from' => [
'address' => '[email protected]',
'name' => 'Example',
],
'encryption' => env('MAIL_ENCRYPTION', 'tls'),
'username' => env('MAIL_USERNAME'),
'password' => env('MAIL_PASSWORD'),
'sendmail' => '/usr/sbin/sendmail -bs',
'pretend' => false,
我的形式發送的數據是這樣的:
<form class="ad-form col-md-12" method="POST" action="/contact_us/send">
{{ csrf_field() }}
<input placeholder="Name...*" type="text" name="name" required="required">
<br>
<input placeholder="Email...*" type="email" name="email" required="required">
<br>
<textarea required="required" placeholder="Your valuable feedback...*" name="comment" rows="5" cols="40"></textarea>
<br>
<input type="submit" name="submit" value="Send">
</form>
而且我的contactus/send.blade.php
文件如下所示:
<div style="border: 2px solid orange; padding: 30px;">
<div>From: <b>{{ $_POST['name'] }}</b></div>
<div>From-Email: <b>{{ $_POST['email'] }}</b><hr></div><br>
<div style="text-align: justify;"><strong>{{ $_POST['comment'] }}</strong></div>
</div>
請告訴我爲什麼它沒有發送的地址。
並且請告訴我如何在電子郵件發送後轉到另一個頁面。
什麼版本laravel的是你在用嗎?我複製了你的代碼,並且它在L5.3 –
中運行良好在郵件模板中?或者它沒有正確設置郵件頭? –
@shock_gone_wild僅限5. 3。它發送郵件但不發送地址。 – Advaith