首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >带IP地址的PHP SMTP邮件

带IP地址的PHP SMTP邮件
EN

Stack Overflow用户
提问于 2018-05-28 20:11:13
回答 3查看 987关注 0票数 0

以下是我的联系邮件PHP代码:

代码语言:javascript
复制
<?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地址。我该怎么做呢?

EN

回答 3

Stack Overflow用户

发布于 2018-05-28 20:14:11

你可以使用下面的函数。

代码语言:javascript
复制
 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;
  }
票数 0
EN

Stack Overflow用户

发布于 2018-05-28 20:18:57

您可以使用此函数获取客户端IP地址

代码语言:javascript
复制
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;
}
票数 0
EN

Stack Overflow用户

发布于 2018-05-28 20:34:34

这是可以的,但我想看到IP地址从联系人的形式收到的邮件。

在我的代码中,MsgHTML包括名称、主题、邮件和消息如何添加IP地址信息?

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/50566164

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档