引用 | 編輯
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 |