查看: 1821|回复: 16
|
如何Send Mail不会进到Junk Mail在PHP?
[复制链接]
|
|
PHP...
我想用在Send 出去的Email里...
可以看见图片...
我应该如何写???
现在用着...
$to = "xxxx@xxxx.com";
$subject = "xxxxx";
$message = "$content";
$headers = "From: $name";
$sent = mail($to, $subject, $message, $headers) ;
请前辈指导...
[ 本帖最后由 伪君子 于 16-12-2006 04:51 PM 编辑 ] |
|
|
|
|
|
|
|
发表于 16-12-2006 07:51 AM
|
显示全部楼层
$sender_name ="";
$sender_email ="";
$to ="";
$headers = "MIME-Version: 1.0\r\n";
$headers .= "Content-type: text/html; charset=iso-8859-1\r\n";
$headers .= "Fromsender_name<$sender_email>\r\n";
$message="
<HTML> TAG HERE
";
mail($to, $subject, $message, $headers);
大概就是这样,不会有错。。。你的照片等等都 reside 在你的 server 所以你的 mail 的照片记得放 full link (你 server 照片的 link)
自然会 link 过去 |
|
|
|
|
|
|
|
楼主 |
发表于 16-12-2006 04:46 PM
|
显示全部楼层
|
|
|
|
|
|
|
楼主 |
发表于 16-12-2006 04:52 PM
|
显示全部楼层
如何Send Mail不会进到Junk Mail在PHP?
现在我Send的Email...
全部进了JunkMail...
无言...
请前辈教导... |
|
|
|
|
|
|
|
发表于 16-12-2006 05:24 PM
|
显示全部楼层
原帖由 伪君子 于 16-12-2006 04:52 PM 发表
如何Send Mail不会进到Junk Mail在PHP?
现在我Send的Email...
全部进了JunkMail...
无言...
请前辈教导...
我想应该没有人有办法解决这问题。 |
|
|
|
|
|
|
|
发表于 16-12-2006 05:29 PM
|
显示全部楼层
PHPMailer, 用SMTP fsockopen方法,不要用mail()这个方法。 |
|
|
|
|
|
|
|
发表于 16-12-2006 05:34 PM
|
显示全部楼层
原帖由 伪君子 于 16-12-2006 04:52 PM 发表
如何Send Mail不会进到Junk Mail在PHP?
现在我Send的Email...
全部进了JunkMail...
无言...
请前辈教导...
进junk mail 有很多原因, 以下是我所知道的原因。
1。同一个subject不可以分两次发。第一次,你的mail会进inbox。在第一次过后再发的话,就会进junkmail。
2。你的mail server 发太多mail导致收信者的spam filter system认为你在spam,所以进junkmail。
其实还有其他原因的,但是我记不起来。 |
|
|
|
|
|
|
|
发表于 16-12-2006 06:38 PM
|
显示全部楼层
原帖由 苦瓜汤 于 16-12-2006 05:29 PM 发表
PHPMailer, 用SMTP fsockopen方法,不要用mail()这个方法。
send hotmail,可以进inbox? |
|
|
|
|
|
|
|
发表于 16-12-2006 06:48 PM
|
显示全部楼层
原帖由 伪君子 于 16-12-2006 04:52 PM 发表
如何Send Mail不会进到Junk Mail在PHP?
现在我Send的Email...
全部进了JunkMail...
无言...
请前辈教导...
^^
你要去 register under 某某地方。。。不然 hotmail yahoo 一定进 junk
我忘了那个地方
是要 register 的,然后在你的 web hosting cpanel 要 set 东西 ^^
之后自动会 clearify 你的 domain
[ 本帖最后由 cupid25 于 16-12-2006 06:51 PM 编辑 ] |
|
|
|
|
|
|
|
发表于 16-12-2006 09:44 PM
|
显示全部楼层
原帖由 hui_wooi 于 16-12-2006 05:24 PM 发表
我想应该没有人有办法解决这问题。
Junk Mail的问题?狼儿的印象中这个问题出现很多次了吧?呵呵!
不能说没有人可以解决,其实很多人都已经解决了,只是没有力气去理会你们这一些问题,在要不然就是“自私”的行为,不愿跟你们分享。
狼儿很久以前(高中毕业时期)就已经解决这个问题了。狼儿还记得他当初还在CARI教了一些人怎么去使用这一个方法。并且把整个CLASS都分享出来了。
狼儿使用的是socket的方法,直接用socket跟smtp联系,然后发送email。在一般的情况之下,你的email或则smtp是来自哪里的都不会进入junk的。
(狼儿是说一般的情况之下,当然也会有意外状况的。)
说了那么多,你看看编码就大概知道狼儿的意思了。
- <?php
- set_time_limit(120);
- class smtp_mail
- {
- var $host; //server
- var $port; //port
- var $user; //SMTP user
- var $pass; //SMTP pass
- var $debug = false; //debug mode
- var $conn;
- var $result_str; //result
- var $in; //client command
- var $from; //from
- var $to; //to
- var $subject; //subject
- var $body; //mail body
- function smtp_mail($host, $port, $user, $pass, $debug)
- {
- $this->host = $host;
- $this->port = $port;
- $this->user = base64_encode($user);
- $this->pass = base64_encode($pass);
- $this->debug = $debug;
- $this->socket = socket_create(AF_INET, SOCK_STREAM, SOL_TCP);
- if($this->socket)
- {
- $this->result_str = 'CREATE SOCKET: '.socket_strerror(socket_last_error());
- $this->debug_show($this->result_str);
- }
- else
- {
- exit('ERROR, CHECK YOUR CONNECTION');
- }
- $this->conn = socket_connect($this->socket,$this->host,$this->port);
- if($this->conn)
- {
- $this->result_str = 'CONNECTING SOCKET: '.socket_strerror(socket_last_error());
- $this->debug_show($this->result_str);
- }
- else
- {
- exit('ERROR, CHECK YOUR CONNECTION');
- }
- $this->result_str = 'RESPOND: <font color="#cc0000">'.socket_read ($this->socket, 1024).'</font>';
- $this->debug_show($this->result_str);
- }
- function debug_show($str)
- {
- if($this->debug)
- {
- echo $str."<p>\r\n";
- }
- }
- function send($from, $to, $subject, $body)
- {
- if($from == '' || $to == '')
- {
- exit('PLEASE ENTER E-MAIL ADDRESS');
- }
- if($subject == '') $sebject = 'No_Title';
- if($body == '') $body = 'No_Body';
- $this->from = $from;
- $this->to = $to;
- $this->subject = $subject;
- $this->body = $body;
- $All = "From:".$this->from."\n";
- $All .= "To:".$this->to."\n";
- $All .= "Subject:".$this->subject."\n\n";
- $All .= $this->body;
- $this->in = "EHLO HELO\r\n";
- $this->docommand();
- $this->in = "AUTH LOGIN\r\n";
- $this->docommand();
- $this->in = $this->user."\r\n";
- $this->docommand();
- $this->in = $this->pass."\r\n";
- $this->docommand();
- $this->in = "MAIL FROM:".$this->from."\r\n";
- $this->docommand();
- $this->in = "RCPT TO:".$this->to."\r\n";
- $this->docommand();
- $this->in = "DATA\r\n";
- $this->docommand();
- $this->in = $All."\r\n.\r\n";
- $this->docommand();
- $this->in = "QUIT\r\n";
- $this->docommand();
- }
- function docommand()
- {
- socket_write ($this->socket, $this->in, strlen ($this->in));
- $this->debug_show('CLIENT: '.$this->in);
- $this->result_str = 'SERVER: <font color="#cc0000">'.socket_read ($this->socket, 1024).'</font>';
- $this->debug_show($this->result_str);
- }
- }
- $smtp = new smtp_mail('mail.server.com','25','username','password', true); // set true to false for non-debug mode
- $smtp->send("sender@email.com","receiver@email.com","This is my title","This is my text");
- ?>
复制代码
|
|
|
|
|
|
|
|
发表于 16-12-2006 11:25 PM
|
显示全部楼层
所以 register 那个 service 一定过不管是 mail 或 socket 都能
因为那个 service 是一个团体专门负责这些东西。。。可是我忘了地址
|
|
|
|
|
|
|
|
发表于 16-12-2006 11:57 PM
|
显示全部楼层
原帖由 JR86 于 16-12-2006 09:44 PM 发表
Junk Mail的问题?狼儿的印象中这个问题出现很多次了吧?呵呵!
不能说没有人可以解决,其实很多人都已经解决了,只是没有力气去理会你们这一些问题,在要不然就是“自私”的行为,不愿跟你们分享。
狼 ...
一样。
yahoo、gmail等可以。
hotmail、msn就不懂去哪里了。 |
|
|
|
|
|
|
|
发表于 17-12-2006 12:17 AM
|
显示全部楼层
原帖由 cupid25 于 16-12-2006 11:25 PM 发表
所以 register 那个 service 一定过不管是 mail 或 socket 都能
因为那个 service 是一个团体专门负责这些东西。。。可是我忘了地址
这个http://truste.org/? |
|
|
|
|
|
|
|
发表于 17-12-2006 01:00 AM
|
显示全部楼层
原帖由 hui_wooi 于 16-12-2006 11:57 PM 发表
一样。
yahoo、gmail等可以。
hotmail、msn就不懂去哪里了。
你的意思是原本都可以
还是用了class之后就可以呢?
因为以前我用asp的
hotmail会去到junk mail
yahoo 就不会 |
|
|
|
|
|
|
|
发表于 17-12-2006 01:08 AM
|
显示全部楼层
原帖由 红发 于 17-12-2006 01:00 AM 发表
你的意思是原本都可以
还是用了class之后就可以呢?
因为以前我用asp的
hotmail会去到junk mail
yahoo 就不会
我的意思是本来就可以到yahoo或gmail。
其实只要你的IP没有被blacklisted。
基本上你是可以send到yahoo和gmail的inbox。
hotmail就不知所踪。
[ 本帖最后由 hui_wooi 于 17-12-2006 01:23 AM 编辑 ] |
|
|
|
|
|
|
|
发表于 17-12-2006 01:44 AM
|
显示全部楼层
不是。。。那个 service 专门负责 spam blacklist 的。。。是 internation service
要放你的 domain, 等等在那边。。。如果 clearify 好。。。自动不会再进 junk mail
有时你看到 junk 一大堆 warning 什么 invalid 等等。。。就是要 register 那个才能
可是我只弄过一次,我忘记了。。。必须根据它的办法来 setup
需要 ip 如果没有错,然后会给你一些 code 怎样放在你的 domain server
那个也不是 microsoft 的,yahoo,hotmail 等等都有经过他来 verify mail |
|
|
|
|
|
|
|
发表于 17-12-2006 01:49 AM
|
显示全部楼层
原帖由 cupid25 于 17-12-2006 01:44 AM 发表
不是。。。那个 service 专门负责 spam blacklist 的。。。是 internation service
要放你的 domain, 等等在那边。。。如果 clearify 好。。。自动不会再进 junk mail
有时你看到 junk 一大堆 warning 什么 ...
那希望你尽快想到。
我有一个,但要钱的。
http://www.isipp.com/suretymail.php |
|
|
|
|
|
|
| |
本周最热论坛帖子
|