我可以知道如何从本地主机发送电子邮件到Gmail或其他电子邮件帐户吗?我已经对此事进行了研究并尝试这样做,但仍然无法发送电子邮件。以下是我编辑的sendmail.ini
和php.ini
文件,
发送邮件.ini
smtp_server=smtp.gmail.com
smtp_port=465
smtp_ssl=ssl
error_logfile=error.log
debug_logfile=debug.log
auth_username=khairulamran.nazri@gmail.com
auth_password=[email password]
pop3_server=
pop3_username=
pop3_password=
force_sender=khairulamran.nazri@gmail.com
force_recipient=
hostname=smtp.gmail.com
PHP.ini - 邮件功能
SMTP = smtp.gmail.com
smtp_port = 465
sendmail_path = "'"C:'xampp'sendmail'sendmail.exe'" -t"
mail.add_x_header=Off
联系.php - 发送电子邮件
<?php
if(isset($_POST['submitted'])){
$name=$_POST['name'];
$to=$_POST['email'];
$hp=$_POST['hp'];
$subject="Test";
$msg="Thank you for Register. Your Name is ".$name." and Hp no. is ".$hp;
$header="khairulamran.nazri@gmail.com";
$success=mail($to,$subject,$msg,$header);
if($success==true){
echo "Email send successfully ";
} else{
echo "Error sending email";
}
}
?>
<form name="contact" method="post" action="">
Nama:<input type="text" name="name"><p>
Email:<input type="text" name="email"><p>
Hp:<input type="text" name="hp">
<input type="submit" name="submitted" value="Submit">
</form>
如果单击"提交",则不会发送已提交的电子邮件。
尝试使用邮件库。我用过,它会完美地工作。遵循这个。https://github.com/PHPMailer/PHPMailer
您只需要输入您的Gmail凭据,然后它就可以工作了。
这是我的情况的解决方案。如果有人也需要有关此案的信息,希望它会有所帮助。
<?php
if(isset($_POST['submitted'])){
$name=$_POST['name'];
$to=$_POST['email'];
$hp=$_POST['hp'];
require '../PHPMailer/PHPMailerAutoload.php';
$mail = new PHPMailer;
$mail->isSMTP(); // Set mailer to use SMTP
$mail->Host = 'smtp.gmail.com'; // Specify main and backup SMTP servers
$mail->SMTPAuth = true; // Enable SMTP authentication
$mail->Username = 'myemail@gmail.com'; // SMTP username
$mail->Password = 'mypassword'; // SMTP password
$mail->SMTPSecure = 'tls'; // Enable TLS encryption, `ssl` also accepted
$mail->Port = 587; // TCP port to connect to
$mail->setFrom('khairulamran.nazri@gmail.com', 'Amran');
$mail->addAddress($to); // Name is optional
$mail->addReplyTo('khairulamran.nazri@gmail.com', 'Information');
$mail->isHTML(true); // Set email format to HTML
$mail->Subject = 'Test Email';
$mail->Body = 'Body of message goes here';
$mail->AltBody = 'Body of message goes here<for non html mail client>';
if(!$mail->send()) {
echo 'Message could not be sent.';
echo 'Mailer Error: ' . $mail->ErrorInfo;
} else {
echo 'Message has been sent';
}
}
?>
<form name="contact" method="post" action="">
Nama:<input type="text" name="name"><p>
Email:<input type="text" name="email"><p>
Hp:<input type="text" name="hp">
<input type="submit" name="submitted" value="Submit">
</form>