Проблема при отправке электронной почты с помощью Codeigniter - заголовки отправляются в теле сообщения - PullRequest
5 голосов
/ 07 января 2011

Возникла странная проблема с классом электронной почты в codeigniter.Когда я отправляю электронную почту прямо на адрес электронной почты моей учетной записи Gmail, она работает нормально.Однако, если я отправляю письмо на другой адрес электронной почты и использую POP3 для импорта этого адреса электронной почты в gmail, то по какой-то причине все заголовки включены в сообщение.

Вот код для отправки электронного письма:

$this->email->clear();
$config['mailtype'] = "html";
$this->email->initialize($config);
$this->email->set_newline("\r\n");
$this->email->from('email@example.com', 'Website');
$this->email->to('accountthatimportstogmail@url.com');
$this->email->message($message);

Вот что поступает в мой почтовый ящик, когда электронное письмо отправляется на аккаунт, который импортируется в Gmail через POP3:

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

From: "Website" <email@example.com>
Reply-To: "email@example.com" <email@example.com>
X-Sender: email@example.com

X-Mailer: CodeIgniter

X-Priority: 3 (Normal)

Message-ID: <4d272c1835479@example.com>

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--

Ответы [ 4 ]

1 голос
/ 18 мая 2013

Пожалуйста, используйте $ config ['protocol'] = 'sendmail';

1 голос
/ 16 мая 2013

Звучит так, будто это не проблема codeigniter.

Вы проверили и показали, что сообщение отправлено правильно. Вы видели, что он отправляет на другую учетную запись POP3. GMail может получить данные учетной записи POP3, но обрабатывает их.

Следующим тестом будет использование клиента, скажем, Thunderbird (рабочий стол) или Squirrel Mail (Интернет) и проверка правильности доставки почты из этих источников.

Следующий тест (если это не так) должен использовать совершенно другую учетную запись POP3 с другим провайдером на другом сервере и посмотреть, что там происходит.

Причина этого в том, что ошибка (как вы ее видите), по-видимому, происходит между доставкой на POP3 и прибытием в GMail. Что я хотел бы найти в качестве средства поиска ошибок, так это установить, является ли это неправильно сформированное электронное письмо или (и это было бы мое предположение), если сервер POP3 имеет какую-либо необычную конфигурацию, которую CI, возможно, не учитывает.

Чтобы сэкономить время, я бы отправлял сообщения на форумах CodeIgniter, чтобы спросить, не сталкивался ли кто-либо еще с этими проблемами, и в этом случае может быть известная ошибка или ошибка или какой-либо недостаток. В ожидании ответа я смотрю на свой POP3-сервер и спрашиваю, почему он передает сообщения таким образом, который мне не нравится, и если это POP3, тип сервера или проблема конфигурации. Самое главное, когда я знаю, в чем проблема, как я могу изменить свое программное обеспечение для отправки электронной почты (CI), чтобы отправлять электронные письма, которые не прерываются таким образом?

Но сначала нужно знать причину проблемы.

0 голосов
/ 14 января 2013

Поскольку почта доставляется на указанный адрес (учетная запись pop3), codeigniter / sendmail / php / dns / smtp и все, кто занимался доставкой почты, сделали то, что от них ожидали. Кроме того, вы также доказали, что Google Mail Fetcher настроен и может успешно получать почту с сервера pop3 и помещать ее в свой почтовый ящик, в этом нет ничего плохого.

То, что вы хотите знать, - это как изменить способ отображения этих импортированных из pop3 сообщений в почтовом ящике вашей учетной записи gmail, что выходит за рамки целевой аудитории, на которую вы ориентируетесь, если ваше сообщение доставлено, наша работа выполнена .

Возможно, одним из способов решения этой проблемы является отправка почты непосредственно на вашу учетную запись gmail. В качестве основного получателя (отправьте, вы можете разделить запятыми несколько учетных записей) или один из адресов CC или BCC, что позволит избежать необходимости извлекать данные из POP3. Это будет отображаться в вашем почтовом ящике, как и любое другое сообщение, отправленное вам со скрытыми заголовками, как обычно.

Это работает для меня.

Дайте нам знать, как все получается ...

0 голосов
/ 11 января 2011

Я считаю, что этот пост может вам помочь: Отправка электронной почты с CodeIgniter

Клебер.

...