2011-01-07 9 views
5

Po dziwnym problemie z klasą wiadomości e-mail w haśle codeigniter. Kiedy wysyłam e-mail bezpośrednio na mój adres e-mail konta gmail, to działa dobrze. Jednak jeśli wyślę e-mail na inny adres e-mail i użyje protokołu POP3 do zaimportowania tego adresu e-mail do Gmaila, to z jakiegoś powodu wszystkie nagłówki są zawarte w wiadomości.Problem z wysyłaniem wiadomości e-mail z podpisem Code - nagłówki wysyłane w treści wiadomości

Oto kod do wysyłania e-mail:

$this->email->clear(); 
$config['mailtype'] = "html"; 
$this->email->initialize($config); 
$this->email->set_newline("\r\n"); 
$this->email->from('[email protected]', 'Website'); 
$this->email->to('[email protected]'); 
$this->email->message($message); 

Oto, co pojawia się w mojej skrzynce e-mail wysyłany jest do rachunku, który jest importowany do gmail poprzez POP3:

Date: Fri, 7 Jan 2011 15:07:04 +0000 

From: "Website" <[email protected]> 
Reply-To: "[email protected]" <[email protected]> 
X-Sender: [email protected] 

X-Mailer: CodeIgniter 

X-Priority: 3 (Normal) 

Message-ID: <[email protected]> 

Mime-Version: 1.0 

Content-Type: multipart/alternative; boundary="B_ALT_4d272c1835c46" 




This is a multi-part message in MIME format. 

Your email application may not support this format. 



--B_ALT_4d272c1835c46 

Content-Type: text/plain; charset=utf-8 

Content-Transfer-Encoding: 8bit 



this is the email message content 





--B_ALT_4d272c1835c46 

Content-Type: text/html; charset=utf-8 

Content-Transfer-Encoding: quoted-printable 

<html> 
<body> 
     <p>this is the email message content 
</p> 
</body> 
</html> 



--B_ALT_4d272c1835c46-- 
+0

spróbuj zmienić typ wiadomości z html na tekst. –

Odpowiedz

0

Od momentu dostarczenia wiadomości na wskazany adres (konto pop3) codeigniter/sendmail/php/dns/smtp i wszystkich osób zaangażowanych w dostarczanie poczty wykonano to, czego się od nich oczekuje. Dodatkowo udowodniono, że moduł pobierania poczty Google jest skonfigurowany i może z powodzeniem pobierać pocztę z serwera POP3 i umieszczać go w skrzynce odbiorczej, również tam nic nie jest.

Co chcesz wiedzieć, jak zmienić sposób, w jaki te importowane z wiadomości pop3 są wyświetlane w skrzynce odbiorczej konta Gmail, co znacznie wykracza poza zakres odbiorców, na których celujesz, jeśli Twoja wiadomość jest dostarczana, nasza praca jest Gotowe.

Jednym ze sposobów rozwiązania problemu może być wysłanie poczty bezpośrednio na konto Gmail. Jako główny odbiorca (wyślij do, możesz przecinać oddzielne konta) lub jeden z adresów CC lub BCC, co pozwoli uniknąć konieczności pobierania z POP3. Zostanie to wyświetlone w skrzynce odbiorczej, tak jak w przypadku każdej innej wiadomości wysłanej do Ciebie z nagłówkami ukrytymi jak zwykle.

To działa dla mnie.

Daj nam znać, jak rzeczy okazują ...

1

Brzmi jakby to nie jest problem CodeIgniter.

Testowano i pokazano, że wiadomość jest wysyłana poprawnie. Widzieliście, że wysyła on na inne konto POP3. GMail może pobrać dane z konta POP3, ale go wyprzedzi.

Następnym testem jest skorzystanie z klienta, powiedzmy, Thunderbird (komputer stacjonarny) lub Poczta wiewiórcza (sieć) i sprawdzenie, czy poczta przychodzi poprawnie z tych źródeł.

Następnym testem (jeśli nie jest) jest użycie zupełnie innego konta POP3 z innym dostawcą na innym serwerze i zobaczenie, co się tam dzieje.

Powodem tego jest to, że usterka (jak widać) dzieje się między dostarczeniem na POP3 i przybyciem do Gmaila. To, co chciałbym jako narzędzie do wykrywania usterek, to ustalić, czy jest to źle sformułowana wiadomość e-mail, czy (i tak przypuszczam) jeśli serwer POP3 ma jakąś nietypową konfigurację, której CI może nie uwzględniać.

Aby zaoszczędzić czas, chciałbym opublikować na forach CodeIgniter, aby zapytać, czy ktoś doświadczył tych problemów. W takim przypadku może to być znany błąd lub usterka lub usterka. Czekając na odpowiedź, patrzę na mój serwer POP3 i pytam go, dlaczego przekazuje wiadomości w sposób, który mi się nie podoba i czy jest to POP3, typ serwera lub problem z konfiguracją.Co najważniejsze, gdy już wiem, jaki jest problem, w jaki sposób mogę zmienić oprogramowanie do wysyłania wiadomości e-mail (CI), aby wysyłać e-maile, które nie łamią się w ten sposób?

Ale najpierw trzeba znać przyczynę problemu.

1

Proszę użyć $ config ['protocol'] = 'sendmail';