2016-10-11 3 views
4

사용자가 페이지를 볼 때 전자 메일로 전자 메일을 보내려고합니다.
나는 그것을 성공적으로했다.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> 

보낸 사람 주소를 보내지 않는 이유를 알려주십시오.

이메일을 보내신 후 다른 페이지로 이동하는 방법을 알려주십시오.

+0

laravel의 버전입니다 너 사용하고있어? 코드를 복사했는데 L5.3에서 잘 작동합니다. –

+0

메일 템플릿 내부? 또는 헤더에서 메일을 올바르게 설정하지 않았습니까? –

+0

@shock_gone_wild 5. 3 만. 그것은 메일을 보내고 있지만 주소는 보내지 않습니다. – Advaith

답변

1

이 문제는 Laravel 문제가 아닙니다. 당신은 의견에서 당신이 당신에게 이메일을 보냈다고 쓰여있다. 이것은 gmail이 스팸을 방지하기 위해 임의의 주소를 사용하는 것을 허용하지 않기 때문입니다.

"보낸 사람 주소"로 사용하기 전에 대체 주소를 등록해야합니다. 그렇지 않으면 gmail이 기본 주소로 다시 변경합니다.

참조 here 또는

here를 참조하십시오 문제를 다루는 일부 SO 능숙도 있습니다

How to change from-address when using gmail smtp server,

When using Gmail for SMTP, can you set a different “from” address?

change sender address when sending mail through gmail in c#