사용자가 페이지를 볼 때 전자 메일로 전자 메일을 보내려고합니다.
나는 그것을 성공적으로했다.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
파일은 다음과 같습니다 :
'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>
그리고
MAIL_DRIVER=smtp
MAIL_HOST=smtp.gmail.com
MAIL_PORT=587
[email protected]
MAIL_PASSWORD=**********
MAIL_ENCRYPTION=tls
내 config/mail.php
파일은 다음과 같습니다 내 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