Aaron's Blog logo Aaron's Blog

1. server

php artisan make:controller ContactController

2. vi /home/crypto/htdocs/portfolio/.env

MAIL_DRIVER=smtp
MAIL_HOST=smtp.gmail.com
MAIL_PORT=587
MAIL_USERNAME=emailaddress@gmail.com
MAIL_PASSWORD=passward
MAIL_ENCRYPTION=tls

3. setting firewall

firewall-cmd –permanent –zone=public –add-port=587/tcp
systemctl restart firewalld.service
firewall-cmd –list-ports

4. google account

Turn on
account -> security -> Less secure app access

5. contact form(writing form)

contact.blade.php

 <form action="contact" method="post" role="form" class="php-email-form">   
        
       <div class="form-row">   
 	<div class="col-md-6 form-group">   
 	  <input type="text" name="name" class="form-control" id="name" placeholder="Your Name" data-rule="minlen:4" data-msg="Please enter at least 4 chars" />   
 	  <div class="validate"></div>   
 	</div>   
 	<div class="col-md-6 form-group">   
 	  <input type="email" class="form-control" name="email" id="email" placeholder="Your Email" data-rule="email" data-msg="Please enter a valid email" />   
 	  <div class="validate"></div>   
 	</div>   
       </div>   
       <div class="form-group">   
 	<input type="text" class="form-control" name="subject" id="subject" placeholder="Subject" data-rule="minlen:4" data-msg="Please enter at least 8 chars of subject" />   
 	<div class="validate"></div>   
       </div>   
       <div class="form-group">   
 	<textarea class="form-control" name="message" rows="6" data-rule="required" data-msg="Please write something for us" placeholder="Message"></textarea>   
 	<div class="validate"></div>   
       </div>   
       <div class="mb-3">   
 	<div class="loading">Loading</div>   
 	<div class="error-message">Unfortunately failing sending e-mail.</div>   
 	<div class="sent-message">Your message has been sent. Thank you!</div>   
       </div>   
       <div class="text-center"><button type="submit">Send Message</button></div>   
     </form>   

6. set up route.php

Route::post(‘contact’, ‘ContactController@send’);

7. ContactController.php

add below
use Redirect,Response,DB,Config;
use Mail;

 public function send(Request $req){   
            
    $name = $req->input('name');   
    $email = $req->input('email');   
    $subject = $req->input('subject');   
    $text = $req->input('message');   
    $title = 'Aaron Portfolio Mail';   
     
    $data['name'] = $name;   
    $data['email'] = $email;   
    $data['subject'] = $subject;   
    $data['text'] = $text;   
    $data['title'] = $title;   
       
    Mail::send('emails.email', $data, function($message) {   
        $message->to('jfluke1414@gmail.com', 'Aaron(Hyunjin Yeo)')->subject('From Aaron Portfolio page');   
    });   
               
    if (Mail::failures()) {   
//             return response()->Fail('Sorry! Please try again.');   
        echo "Failed";   
    } else {   
//             return response()->success('Great! Successfully sended this E-mail to Aaron');   
        echo "Sent";   
    }   
                   
}   

8. make viewfile for email form(e-mail will be sent by a form below)

at view/emails/email

email.php

 <!DOCTYPE html>   
 <html lang="en">   
    
    <head>   
      <meta charset="utf-8">   
      <meta content="width=device-width, initial-scale=1.0" name="viewport">   
       
      <title></title>   
   
    </head>   
        <body>   
        <p1></p1>   
        <p></p>   
        <p></p>   
        <p></p>   
           
        <p1>This is from Aaron's portfolio server from someone eles</p1>   
    </body>   
    
 </html>