簡體   English   中英

如何使用PHP通過SMTP發送電子郵件

[英]how to send email via SMTP using PHP

嗨,我是PHP新手,我需要使用PHP通過SMTP發送電子郵件。 實際上我是用普通代碼寫的,但是郵件卻是垃圾郵件 (跟隨mycode)

$to = 'xxx@gmail.com';
$subject = 'Test mail';
$from = 'zzz@domain.com';
$header = "From: $from \r\n";
$headers .= "MIME-Version: 1.0\r\n";
$headers .= "Content-Type: text/html; charset=ISO-8859-1\r\n";
$message = '//some HTML Code...';
if (mail($to, $subject , $message, $headers)) {
echo 'Success';
} else {
echo 'Error';
}

因此,我提到了一些他們說使用SMTP(簡單郵件傳輸協議)郵件的網站將進入收件箱。 請幫助我通過SMTP發送電子郵件。

提前致謝

謝謝您的幫助,這是我的示例代碼

<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Test 3 mail</title>
</head>

<body>
<?php
if(isset($_POST['send']))
{
    require_once'Swift-5.1.0\lib\swift_required.php';

    $name = filter_var($_POST['name'],  FILTER_SANITIZE_STRING);
    $email = filter_var($_POST['email'],  FILTER_SANITIZE_STRING);
    $message = filter_var($_POST['message'],  FILTER_SANITIZE_STRING);
    $body = "Name:".$name."<br>Email:".$email."<br>Message:".$message."";
    //tarnport
    $transport = Swift_SmtpTransport::newInstance('d9.privatewebsolution.com', 465, "ssl")
      ->setUsername('test@dimain.com')
      ->setPassword('XXXXX');
    $mailer = Swift_Mailer::newInstance($transport);
    $message = Swift_Message::newInstance('Uni-Tech')
        ->setFrom(array('test@dimain.com' => "Name"))
        ->setTo($email)
        ->setBody($body, 'text/html');

    $result = $mailer->send($message);
}
?>
<form action="test3.php" method="post">
<label>Name</label>
<input type="text" name="name" /><br />
<label>Email</label>
<input type="email" name="email" /><br />
<label>Message</label>
<textarea name="message"></textarea><br />
<input type="submit" name="send" value="Send" />
</form>
</body>
</html>

PHP未使用配置良好的SMTP服務器,因此它立即變為垃圾郵件。 您可以嘗試使用PHP的著名郵件程序PhpMailer

我認為SwiftMailer非常適合使用SMTP協議以PHP發送電子郵件

http://swiftmailer.org/docs/introduction.html

請確保在PHP中啟用了https://pear.php.net/package/Net_SMTP軟件包。

$transport = Swift_SmtpTransport::newInstance('smtp.gmail.com', 465, "ssl")
  ->setUsername('***@gmail.com')
  ->setPassword('***');   */
 $mailer = Swift_Mailer::newInstance($transport);
$subject="<subject of email";
$body="<body goes Here";
$message = Swift_Message::newInstance($subject)
  ->setFrom(array('from@example.com' => "Name"))
  ->setCc(array("cc@example.com" => "ccName"))
  ->setTo($to_email)
  ->setBody($body, 'text/html')
// Add alternative parts with addPart()
  ->addPart($body, 'text/plain');
$result = $mailer->send($message);

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM