Heim  >  Artikel  >  Backend-Entwicklung  >  求助PHP发送邮件,如何通过代理服务器这道坎

求助PHP发送邮件,如何通过代理服务器这道坎

WBOY
WBOYOriginal
2016-06-23 14:04:25950Durchsuche

我写了个发送邮件的功能,在家是可以使用。
但是由于公司是内网,上网都是需要设置代理服务器的,请问如何通过代理服务器发送呢?
最好能给出代码,谢谢。
一定结贴!
以下是我目前的代码。
class Jmail
{
public $Username;   //邮局用户名
public $Password;   //密码
public $FormName ;   //发件人姓名
public $From ;   //发件人地址
public $Addrecipient ; //收件人地址
public $Ttile ; //邮件标题
public $Content;   //邮件内容
public $Smtp; //邮件服务器

function Send(){
$Jmail = new com("Jmail.Message");   //实例化一个Jmail对象
$Jmail->SiLent=true; //设置成True的话Jmail不会提示错误只会返回True和False
$Jmail->LogGing = false;   //是否开启日志
$Jmail->CharSet = "GB2312"; //设定字符串编码
$Jmail->ContentType = "Text/html"; //邮件的格式为HTML格式
$Jmail->MailServerUsername = $this->Username; //发信箱用户名
$Jmail->MailServerPassword = $this->Password; //发信箱密码
$Jmail->FromName = $this->FromName;   //发件人姓名
$Jmail->From = $this->From; //发件人地址
$Jmail->AddRecipient($this->Addrecipient); //收件人地址
$Jmail->Subject = $this->Title;//Email标题
$Jmail->Body = $this->Content; //Email正文
$JmailError = $Jmail->Send($this->Smtp); //Smtp服务器
if($JmailError){   //判断邮件是否发送成功
return true;
}else{
return false;
}
}
}

$jmail = new Jmail();
$jmail->Username = "我的邮箱";
$jmail->Password = "我的密码";
$jmail->FromName = "test";
$jmail->From = "我的邮箱名";
$jmail->Addrecipient = "地址";
$jmail->Title = "ttt";
$jmail->Content = "cccc";
$jmail->Smtp = "邮寄服务器地址";
if($jmail->Send()){
echo "成功哦!";
}else{
echo "失败哦!";
}
?>


回复讨论(解决方案)

用smtp发就可以了。用qq的邮箱就可以!

问题是内网IP怎么发给SMTP服务器呢?如果能调用到外网IP的话,我这个本就可以发的呀。

你的代理服务器开放了邮件代理了吗?

是这样的
我们这里的电脑都是内网IP,然后要通过外网IP去访问外网;然后邮件服务器是架在外网的。
所以我的理解是应该要连上外网IP才可以发送邮件成功吧。不知道我这样表达能不能让大家明白。

不知道我的理解有没有问题,请大家多多指教。。。我会努力学的。

发的时候会被屏蔽吗

是这样的
我们这里的电脑都是内网IP,然后要通过外网IP去访问外网;然后邮件服务器是架在外网的。
所以我的理解是应该要连上外网IP才可以发送邮件成功吧。不知道我这样表达能不能让大家明白。 如果内网是通过路由器上外网的,那么就可直接使用
如果是通过代理服务器上外网的,则需开通代理服务器的邮件代理功能(默认都是关闭的)

好的谢谢,我去检查一下

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn