2017-07-02 15 views
0

私はPHPMailerでメールを送信する方法を理解するのに苦労しています。PHPMailerでメールを送信

私は複数のウェブサイトクライアントを持っており、それぞれについてコンタクトフォームを実装しています。自分のメールアドレスにメールを送信できますが、自分のメールアドレスには送信できません。

これは私がそれを行うために書いた関数です。

function sendSMTP($host, $usr, $pwd, $port, $fromAddr, $fromName, 
$replyAddr, $replyName, $addr, $subject, $body) 
{ 
$mail = new PHPMailer(true); 

$mail->SMTPDebug = 1; 

$mail->isSMTP(); 
$mail->Host   = $host; 
$mail->SMTPAuth  = true; 
$mail->Username  = $usr; 
$mail->Password  = $pwd; 
$mail->SMTPSecure = 'ssl'; 
$mail->Port   = $port; 

$mail->setFrom($fromAddr, $fromName); 
$mail->addReplyTo($replyAddr, $replyName); 

$mail->addAddress($addr); 

$mail->isHTML(true); 

$mail->Subject = $subject; 
$mail->Body = $body; 
} 

私はそれがあるため、最初の4つのパラメータ(ホスト、ユーザー、パスワード、ポート)とは何かを働いていない気がします。私はこの数ヶ月前に始めて、それに座っていました、そして今、私はそれを修正する方法が完全に失われています。

クライアントごとにさまざまな送信者アカウントを認証する必要がありますか。私は立ち往生している。この機能を使用する正しい方法は何ですか?

答えて

0

PHPMailerを使用して自分のlocalhostから自分のメールアドレスまたは他のメールアドレスにメールを送信できました。 Gmailを使用する場合は、HOST = smtp.gmail.com、 のメールアドレスとパスワードをUSER、PASSWORDに設定します。 Googleの「gmailポート番号」によってPORT番号が見つかりました。それが役立つことを願っています。

<?php 

require '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 = '[email protected]'; // your email id 
$mail->Password = 'password'; // your password 
$mail->SMTPSecure = 'tls';     
$mail->Port = 587;  //587 is used for Outgoing Mail (SMTP) Server. 
$mail->setFrom('[email protected]', 'Name'); 
$mail->addAddress('[email protected]'); // Add a recipient 
$mail->isHTML(true); // Set email format to HTML 

$bodyContent = '<h1>HeY!,</h1>'; 
$bodyContent .= '<p>This is a email that Radhika send you From LocalHost using PHPMailer</p>'; 
$mail->Subject = 'Email from Localhost by Radhika'; 
$mail->Body = $bodyContent; 
if(!$mail->send()) { 
    echo 'Message was not sent.'; 
    echo 'Mailer error: ' . $mail->ErrorInfo; 
} else { 
    echo 'Message has been sent.'; 
} 

?> 
関連する問題