引用 | 编辑
chialewang
2008-08-10 00:10 |
楼主
▼ |
||
x0
【类型】主程式【版本】6.00 【问题文章演示网址】http://54.xxoo.to 各位前辈 您们好: 激活信件都是乱码 是信箱的关系还是设定的关系、网页、程式? 可否指点一下 http://54.xxoo.to 感恩 王嘉乐 敬启 x0
|
引用 | 编辑
月光
2008-08-10 05:10 |
1楼
▲ ▼ |
由于您的编码为utf-8因此若您寄信到yahoo是乱码没错...因为yahoo信箱采用的是big5编码...因此非您程式问题是奇摩太笨了不会自动判断。
x0 |
引用 | 编辑
aa
2008-08-12 10:01 |
2楼
▲ ▼ |
如果你用的版本是 UTF-8 ,而只有标题是乱码,那你要改一下 mail 时的标题编码
$subj='=?utf-8?B?' . base64_encode("信件标题").'?=' x0 |
引用 | 编辑
chialewang
2008-08-14 20:43 |
3楼
▲ ▼ |
站长 您好:
不止标题,连内文都是 请问要在哪个档案去改? 我每个档案都用记事本打开过了,就是找不到 不知道是不是漏掉 烦请指点 感恩 王嘉乐 敬启 x0 |
引用 | 编辑
月光
2008-08-14 21:22 |
4楼
▲ ▼ |
下面是引用aa于2008-08-12 10:01发表的 : 老大您这个是旧版的才是固定的啦...新版的都改用 $db_charset 变数后台设定了所以应该不是这问题...还是yahoo的问题因为我用yahoo收google 寄来的信件只要是UTF8的就是乱码 x0 |
引用 | 编辑
chialewang
2008-08-17 19:10 |
5楼
▲ ▼ |
测试过了,用yahoo的信箱当站内发信也是,所以的确是yahoo的问题 =.=
gmail也是 而我的xxoo.to,会变为简体、垃圾邮件 晕倒 感谢两位前辈的指点 x0 |
引用 | 编辑
月光
2008-09-02 03:03 |
6楼
▲ ▼ |
下面是引用chialewang于2008-08-17 19:10发表的 : 今天我针对这问题去研究了一下发现PHPWIND 6.0以下的版本 使用 mail 函数发送 时 sendemail.php 并没有标示utf-8因此...是乱码经过参考6.3版本的 sendemail.php 只要把原本的 复制程式 if($M_db->S_method == 1){ if(@mail($toemail,$send_subject,$send_message,$additional)){ return true; } else{ return false; } 修改为 复制程式 $subject = stripslashes($subject); $message = stripslashes($message); $send_subject = "=?$db_charset?B?".base64_encode(str_replace(array("\r","\n"), array('',' '),$subject)).'?='; $send_message = chunk_split(base64_encode(str_replace("\r\n.", " \r\n..", str_replace("\n", "\r\n", str_replace("\r", "\n", str_replace("\r\n", "\n", str_replace("\n\r", "\r", $message))))))); $send_from = "=?$db_charset?B?".base64_encode($windid)."?= <$fromemail>"; $send_to = "=?$db_charset?B?".base64_encode($sendtoname)."?= <$toemail>"; substr(str_replace(array("\r","\n"),array('','<rn>'),$additional),-4) != '<rn>' && $additional .= "\r\n"; $additional = "To: $send_to\r\nFrom: $send_from\r\nMIME-Version: 1.0\r\nContent-type: text/plain; charset=$db_charset\r\n{$additional}Content-Transfer-Encoding: base64\r\n"; if($M_db->S_method == 1){ if(@mail($toemail,$send_subject,$send_message,$additional)){ return true; } else{ return false; } x1 |
引用 | 编辑
chialewang
2008-11-03 22:46 |
7楼
▲ ▼ |
感恩
抱歉回覆的晚,没有您说的那一大段耶 全详文 <?php require_once('global.php'); require_once(R_P.'require/header.php'); $groupid=='guest' && Showmsg('not_login'); InitGP(array('action')); !$action && $action='mailto'; list(,,,,$othergd)=explode("\t",$db_gdcheck); if($action == 'mailto'){ InitGP(array('uid','username')); if($username || is_numeric($uid)){ if($username){ $sql="username='".addslashes($username)."'"; } else{ $sql="uid='$uid'"; } $userdb=$db->get_one("SELECT uid,username,email,publicmail,receivemail FROM pw_members WHERE $sql"); } else{ $userdb=''; } !$userdb && Showmsg('undefined_action'); $rt = $db->get_one("SELECT lasttime FROM pw_memberinfo WHERE uid='$winduid'"); if($timestamp-$rt['lasttime'] < 60){ Showmsg('sendeamil_limit'); } if(!$_POST['step']){ if(!$userdb['receivemail'] && $groupid!='3' && $groupid!='4'){ Showmsg('sendeamil_refused'); } $to_mail = $userdb['email']; $to_user = $userdb['username']; if($userdb['publicmail']!=1 && $groupid!='3' && $groupid!='4'){ $hiddenmail=1; } else { $hiddenmail=0; } require_once(PrintEot('sendmail'));footer(); } else { $othergd && GdConfirm($_POST['gdcode']); if(!$userdb['receivemail'] && $groupid!='3' && $groupid!='4'){ Showmsg('sendeamil_refused'); } $sendtoemail = $userdb['email']; InitGP(array('subject','atc_content','fromname','fromemail','sendtoname')); if(empty($subject)){ Showmsg('sendeamil_subject_limit'); } if(empty($atc_content) || strlen($atc_content)<=20){ Showmsg('sendeamil_content_limit'); } elseif (!ereg("^[-a-zA-Z0-9_\.]+\@([0-9A-Za-z][0-9A-Za-z-]+\.)+[A-Za-z]{2,5}$",$sendtoemail) || !ereg("^[-a-zA-Z0-9_\.]+\@([0-9A-Za-z][0-9A-Za-z-]+\.)+[A-Za-z]{2,5}$",$fromemail)){ Showmsg('illegal_email'); } if($rt){ $db->update("UPDATE pw_memberinfo SET lasttime='$timestamp' WHERE uid='$winduid'"); } else{ $db->update("INSERT INTO pw_memberinfo (uid,lasttime) VALUES('$winduid','$timestamp')"); } require_once(R_P.'require/sendemail.php'); if(sendemail($sendtoemail,$subject,$atc_content,'email_additional')){ refreshto('index.php','mail_success'); } else{ Showmsg('mail_failed'); } } } ?> x0 |
引用 | 编辑
月光
2008-11-05 01:10 |
8楼
▲ ▼ |
下面是引用chialewang于2008-11-03 22:46发表的 : 是 require 里面的 sendemail.php .......... x0 |
引用 | 编辑
chialewang
2008-11-05 19:42 |
9楼
▲ ▼ |
月光 前辈 您好:
感谢您的指导 信件乱码、简体、跑到垃圾区的问题,都解决了^^ 感恩感恩 王嘉乐 敬启 x0 |
引用 | 编辑
chialewang
2008-11-13 16:21 |
11楼
▲ |
下面是引用benshaoxw于2008-11-08 10:06(10楼)发表的 : 您好: 之前试过转换编码无效 还是得用小道前辈所提供的原始码来修改 王嘉乐 敬启 x0 |