[英]PHP SMTP Mail with IP Address
這是我的聯系郵件PHP代碼:
<?php
require "class.phpmailer.php";
$mail=new PHPMailer();
$mail->IsSMTP();
$mail->SMTPDebug = 1;
$mail->SMTPAuth = true;
$mail->Host = "domain.mail.com";
$mail->Port = 000;
$mail->Username = 'username@gmail.com';
$mail->Password = 'pass';
$mail->SetFrom($mail->Username, $_POST['name']);
$mail->AddAddress('username@gmail.com', 'username');
$mail->CharSet = 'UTF-8';
$mail->Subject = $_POST["topic"];
$mail->MsgHTML('Name: '.$_POST["name"].'<br/>
Subject: '.$_POST["topic"].'<br/>
E-Mail: '.$_POST["email"].'<br/>
Message: '.$_POST["message"].'<br/>');
if($mail->Send()) {
echo "<script>alert('Message successfully sent.');</script>";
header ("Refresh:0; url=index.html");
}else {
echo $mail->ErrorInfo;
}
}}
?>
我的MsgHTML包括名稱,主題,電子郵件和消息,我想查看用戶的IP地址。 我怎樣才能做到這一點?
您可以使用以下功能。
function GetIpAddress()
{
if (!empty($_SERVER['HTTP_CLIENT_IP'])) //check if its shared
{
$ip=$_SERVER['HTTP_CLIENT_IP'];
}
elseif (!empty($_SERVER['HTTP_X_FORWARDED_FOR'])) //if ip is from proxxyfrom proxy
{
$ip=$_SERVER['HTTP_X_FORWARDED_FOR'];
}
else
{
$ip=$_SERVER['REMOTE_ADDR'];
}
return $ip;
}
您可以使用此功能獲取客戶端IP地址
function get_client_ip() {
$ipaddress = '';
if (isset($_SERVER['HTTP_CLIENT_IP']))
$ipaddress = $_SERVER['HTTP_CLIENT_IP'];
else if(isset($_SERVER['HTTP_X_FORWARDED_FOR']))
$ipaddress = $_SERVER['HTTP_X_FORWARDED_FOR'];
else if(isset($_SERVER['HTTP_X_FORWARDED']))
$ipaddress = $_SERVER['HTTP_X_FORWARDED'];
else if(isset($_SERVER['HTTP_FORWARDED_FOR']))
$ipaddress = $_SERVER['HTTP_FORWARDED_FOR'];
else if(isset($_SERVER['HTTP_FORWARDED']))
$ipaddress = $_SERVER['HTTP_FORWARDED'];
else if(isset($_SERVER['REMOTE_ADDR']))
$ipaddress = $_SERVER['REMOTE_ADDR'];
else
$ipaddress = 'UNKNOWN';
return $ipaddress;
}
好的,但是我想從聯系表中查看傳入郵件中的IP地址。
在我的代碼中,MsgHTML包括名稱,主題,郵件和消息,如何添加IP地址信息?
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.