How to send mail through localhost?

2019-07-16 09:34发布

<?php
$to = "rajesh.bakade65@gmail.com";
$subject = "HTML email";
$message = "
<html>
<head>
<title>HTML email</title>
</head>
<body>
<p>This email contains HTML Tags!</p>
<table>
<tr>
<th>Firstname</th>
<th>Lastname</th>
</tr>
<tr>
<td>John</td>
<td>Doe</td>
</tr>
</table>
</body>
</html>
";
// Always set content-type when sending HTML email
$headers = "MIME-Version: 1.0" . "\r\n";
$headers .= "Content-type:text/html;charset=iso-8859-1" . "\r\n";
// More headers
$headers .= 'From: <rajesh.bakade@chpl.tv>' . "\r\n";
//$headers .= 'Cc: myboss@example.com' . "\r\n";
mail($to,$subject,$message,$headers);
?>

and my php.ini file is

[mail function]
; For Win32 only.
; http://php.net/smtp
SMTP = smtp.gmail.com
; http://php.net/smtp-port
smtp_port = 25

; For Win32 only.
; http://php.net/sendmail-from
;sendmail_from = postmaster@localhost

plz suggest any solution so that i will be able to send mail from localhost

Thanks

标签: php email gmail
3条回答
在下西门庆
2楼-- · 2019-07-16 10:16
  1. require_once 'lib/swift_required.php';

    //Create the Transport $transport =
    Swift_SmtpTransport::newInstance('smtp.example.org', 25)  
    ->setUsername('your username')   ->setPassword('your password');
    
    //Sendmail $transport =
    Swift_SendmailTransport::newInstance('/usr/sbin/sendmail -bs');
    
    //Create the Mailer using your created Transport $mailer =
    Swift_Mailer::newInstance($transport);
    
    //Create a message $message = Swift_Message::newInstance('Wonderful
    Subject')   ->setFrom(array('john@doe.com' => 'John Doe'))  
    ->setTo(array('receiver@domain.org', 'other@domain.org' => 'A name'))   ->setBody('Here is the message itself');
    
    //Send the message $result = $mailer->send($message);
    

    [1]: http://i.stack.imgur.com/t3Pbc.jpg

查看更多
冷血范
3楼-- · 2019-07-16 10:19

Use the feature-rich SwiftMailer and your settings should be like this:

username:google email addres
password: your google password
smtp: smtp.gmail.com
port: 587

Here is how you can set your credentials and send the email.

require_once 'lib/swift_required.php';

//Create the Transport
$transport = Swift_SmtpTransport::newInstance('smtp.example.org', 25)
  ->setUsername('your username')
  ->setPassword('your password');

//Sendmail
$transport = Swift_SendmailTransport::newInstance('/usr/sbin/sendmail -bs');

//Create the Mailer using your created Transport
$mailer = Swift_Mailer::newInstance($transport);

//Create a message
$message = Swift_Message::newInstance('Wonderful Subject')
  ->setFrom(array('john@doe.com' => 'John Doe'))
  ->setTo(array('receiver@domain.org', 'other@domain.org' => 'A name'))
  ->setBody('Here is the message itself');

//Send the message
$result = $mailer->send($message);
查看更多
叼着烟拽天下
4楼-- · 2019-07-16 10:26

You seem to be using the wrong port number forsmtp_port: when looking at the GMail settings, it looks like you'd need port 587 or 465. (Depending whether you want to use TLS or SSL encryption)

Furthermore I do not know whether PHP support SSL and/or TLS. If not you need to use an additional PHP library in order to be able to connection to the Google mail server.

查看更多
登录 后发表回答