macha
macha

Reputation: 7487

Can I use gmail as smtp server for my website

Hello I am trying to get a website up and running. It is currently hosted on AWS, so I do not have my own smtp server running at this moment. So after reading a few articles, I have understood that we could used gmail as a smtp server.

I wanted to double check if what I read was right, I am going to use smart job board software, can I plug in the values provided by gmail and use that as an smtp server??

Upvotes: 11

Views: 32563

Answers (5)

sajtdavid
sajtdavid

Reputation: 41

Although you can technically use Gmail as SMTP server, it is not recommended for larger websites. By time you may receive issues like "421 4.7.0 Temporary System Problem" or similar, is it was not designed to be used by an application, rather a single person.

Related issue for the error message above: Gmail SMTP error - Temporary block?

Upvotes: 0

Mihai Iorga
Mihai Iorga

Reputation: 39704

Yes, Google allows connections through their SMTP and allows you to send emails from your GMail account.

There are a lot of PHP mail scripts that you can use. Some of the most popular SMTP senders are: PHPMailer (with an useful tutorial) and SWIFTMailer (and their tutorial).

The data you need to connect and send emails from their servers are your GMail account, your password, their SMTP server (in this case smtp.gmail.com) and port (in this case 465) also you have to make sure that emails are being sent over SSL.

A quick example of sending an email like that with PHPMailer:

<?php
    require("class.phpmailer.php");

    $mail = new PHPMailer();

    $mail->IsSMTP();  // telling the class to use SMTP
    $mail->SMTPAuth   = true; // SMTP authentication
    $mail->Host       = "smtp.gmail.com"; // SMTP server
    $mail->Port       = 465; // SMTP Port
    $mail->Username   = "[email protected]"; // SMTP account username
    $mail->Password   = "your.password";        // SMTP account password

    $mail->SetFrom('[email protected]', 'John Doe'); // FROM
    $mail->AddReplyTo('[email protected]', 'John Doe'); // Reply TO

    $mail->AddAddress('[email protected]', 'Jane Doe'); // recipient email

    $mail->Subject    = "First SMTP Message"; // email subject
    $mail->Body       = "Hi! \n\n This is my first e-mail sent through Google SMTP using PHPMailer.";

    if(!$mail->Send()) {
      echo 'Message was not sent.';
      echo 'Mailer error: ' . $mail->ErrorInfo;
    } else {
      echo 'Message has been sent.';
    }
?>

Upvotes: 6

user1329212
user1329212

Reputation:

You can user PHPMailer class for this job. And you can easily configure the smtp.

An example of configuration

if (class_exists(@PHPMailer)) {
    $smtp_mail  = new PHPMailer();
    $smtp_mail->isSMTP();
    $smtp_mail->SMTPAuth   = true;                  // enable SMTP authentication
    $smtp_mail->SMTPSecure = "ssl";                 // sets the prefix to the servier
    $smtp_mail->Host       = "smtp.gmail.com";      // sets GMAIL as the SMTP server
    $smtp_mail->Port       = 465;                   // set the SMTP port
    $smtp_mail->Username   = "[email protected]";  // GMAIL username
    $smtp_mail->Password   = "password";            // GMAIL password
    $smtp_mail->From       = "[email protected]";
    $smtp_mail->FromName   = "Name";
    $smtp_mail->AltBody    = "This is the body when user views in plain text format"; //Text Body
    $smtp_mail->WordWrap   = 50; // set word wrap
    $smtp_mail->AddReplyTo("[email protected]","Name");
    $smtp_mail->isHTML(true); // send as HTML
}

Upvotes: 0

Eric J.
Eric J.

Reputation: 150108

I successfully use the GMail SMTP server.

We do have a corporate GMail account, though I don't think that matters. A personal GMail account should suffice.

I do not have a PHP sample however the following configuration for ASP.Net should provide adequate guidance:

<mailSettings>
  <smtp from="[email protected]">
    <network enableSsl="true" host="smtp.gmail.com" port="587" userName="[email protected]" password="mypassword" />
  </smtp>
</mailSettings>

If someone has a suitable PHP sample, feel free to edit my answer or post your own.

Upvotes: 6

regex
regex

Reputation: 3601

Authentication is required I believe, but I don't see why not. I won't do the research for you, but there are a couple things to look into:

  • Their SMTP server requires TLS encryption and is hosted on a non-standard port (995). You will need to ensure that AWS supports both of these options for SMTP outbound.
  • There is probably a cap on emails you can send before being marked as spam. You should research this and ensure it is not beyond your requirements.

Upvotes: 2

Related Questions