dvi30011973

как настроить почту

Рекомендуемые сообщения

Tom    2 012

На таймвебе есть описание того как настроить почту.В твоём случае надо в поле логин и пароль ввести только логин и пароль без всяких добавок.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
dvi30011973    1

Извините.А в данном скрипте магазине.При заказе покупателем товара и после его подтверждении о покупке.Должно уходить письмо с уведомлением покупателю о его заказе.

Вот что я пытаюсь настроить.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
Tom    2 012

Тогда просто в Настройки-Система поставь галочки оповещать о новой регистрации и заказе.Удачи!

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
vilija    39

Извините.А в данном скрипте магазине.При заказе покупателем товара и после его подтверждении о покупке.Должно уходить письмо с уведомлением покупателю о его заказе.

Вот что я пытаюсь настроить.

Если используется протокол "почта" , то SMTP хост, логин и пароль не нужны.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
dvi30011973    1

Я уже повсякому пробывал.Не уходит инфа о заказе.

Загленул в журнал ошибки,вот что там определилось:

2012-09-09 12:01:51 - PHP Warning: fsockopen() [<a href='function.fsockopen'>function.fsockopen</a>]: unable to connect to smtp.timeweb.ru:2525 (Connection timed out) in /home/d/dvladimir/ooo-arle.ru/public_html/system/library/mail.php on line 156

файл mail.php:

<?php

final class Mail {

protected $to;

protected $from;

protected $sender;

protected $subject;

protected $text;

protected $html;

protected $attachments = array();

public $protocol = 'mail';

public $hostname;

public $username;

public $password;

public $port = 25;

public $timeout = 5;

public $newline = "n";

public $crlf = "rn";

public $verp = FALSE;

public $parameter = '';

public function setTo($to) {

$this->to = $to;

}

public function setFrom($from) {

$this->from = $from;

}

public function addheader($header, $value) {

$this->headers[$header] = $value;

}

public function setSender($sender) {

$this->sender = html_entity_decode($sender, ENT_COMPAT, 'UTF-8');

}

public function setSubject($subject) {

$this->subject = html_entity_decode($subject, ENT_COMPAT, 'UTF-8');

}

public function setText($text) {

$this->text = $text;

}

public function setHtml($html) {

$this->html = $html;

}

public function addAttachment($file, $filename = '') {

if (!$filename) {

$filename = basename($file);

}

$this->attachments[] = array(

'filename' => $filename,

'file' => $file

);

}

public function send() {

if (!$this->to) {

exit('Error: E-Mail to required!');

}

if (!$this->from) {

exit('Error: E-Mail from required!');

}

if (!$this->sender) {

exit('Error: E-Mail sender required!');

}

if (!$this->subject) {

exit('Error: E-Mail subject required!');

}

if ((!$this->text) && (!$this->html)) {

exit('Error: E-Mail message required!');

}

if (is_array($this->to)) {

$to = implode(',', $this->to);

} else {

$to = $this->to;

}

$boundary = '----=_NextPart_' . md5(time());

$header = '';

if ($this->protocol != 'mail') {

$header .= 'To: ' . $to . $this->newline;

$header .= 'Subject: ' . '=?utf-8?B?'.base64_encode($this->subject).'?=' . $this->newline;

}

$header .= 'From: ' . '=?utf-8?B?'.base64_encode($this->sender).'?=' . '<' . $this->from . '>' . $this->newline;

$header .= 'Reply-To: ' . '=?utf-8?B?'.base64_encode($this->sender).'?=' . '<' . $this->from . '>' . $this->newline;

$header .= 'Return-Path: ' . $this->from . $this->newline;

$header .= 'X-Mailer: PHP/' . phpversion() . $this->newline;

$header .= 'MIME-Version: 1.0' . $this->newline;

$header .= 'Content-Type: multipart/mixed; boundary="' . $boundary . '"' . $this->newline;

if (!$this->html) {

$message = '--' . $boundary . $this->newline;

$message .= 'Content-Type: text/plain; charset="utf-8"' . $this->newline;

$message .= 'Content-Transfer-Encoding: 8bit' . $this->newline . $this->newline;

$message .= $this->text . $this->newline;

} else {

$message = '--' . $boundary . $this->newline;

$message .= 'Content-Type: multipart/alternative; boundary="' . $boundary . '_alt"' . $this->newline . $this->newline;

$message .= '--' . $boundary . '_alt' . $this->newline;

$message .= 'Content-Type: text/plain; charset="utf-8"' . $this->newline;

$message .= 'Content-Transfer-Encoding: 8bit' . $this->newline . $this->newline;

if ($this->text) {

$message .= $this->text . $this->newline;

} else {

$message .= 'This is a HTML email and your email client software does not support HTML email!' . $this->newline;

}

$message .= '--' . $boundary . '_alt' . $this->newline;

$message .= 'Content-Type: text/html; charset="utf-8"' . $this->newline;

$message .= 'Content-Transfer-Encoding: 8bit' . $this->newline . $this->newline;

$message .= $this->html . $this->newline;

$message .= '--' . $boundary . '_alt--' . $this->newline;

}

foreach ($this->attachments as $attachment) {

if (file_exists($attachment['file'])) {

$handle = fopen($attachment['file'], 'r');

$content = fread($handle, filesize($attachment['file']));

fclose($handle);

$message .= '--' . $boundary . $this->newline;

$message .= 'Content-Type: application/octetstream' . $this->newline;

$message .= 'Content-Transfer-Encoding: base64' . $this->newline;

$message .= 'Content-Disposition: attachment; filename="' . basename($attachment['filename']) . '"' . $this->newline;

$message .= 'Content-ID: <' . basename($attachment['filename']) . '>' . $this->newline . $this->newline;

$message .= chunk_split(base64_encode($content));

}

}

$message .= '--' . $boundary . '--' . $this->newline;

if ($this->protocol == 'mail') {

ini_set('sendmail_from', $this->from);

if ($this->parameter) {

mail($to, '=?utf-8?B?'.base64_encode($this->subject).'?=', $message, $header, $this->parameter);

} else {

mail($to, '=?utf-8?B?'.base64_encode($this->subject).'?=', $message, $header);

}

} elseif ($this->protocol == 'smtp') {

$handle = fsockopen($this->hostname, $this->port, $errno, $errstr, $this->timeout);

if (!$handle) {

error_log('Error: ' . $errstr . ' (' . $errno . ')');

} else {

if (substr(PHP_OS, 0, 3) != 'WIN') {

socket_set_timeout($handle, $this->timeout, 0);

}

while ($line = fgets($handle, 515)) {

if (substr($line, 3, 1) == ' ') {

break;

}

}

if (substr($this->hostname, 0, 3) == 'tls') {

fputs($handle, 'STARTTLS' . $this->crlf);

while ($line = fgets($handle, 515)) {

$reply .= $line;

if (substr($line, 3, 1) == ' ') {

break;

}

}

if (substr($reply, 0, 3) != 220) {

error_log('Error: STARTTLS not accepted from server!');

}

}

if (!empty($this->username) && !empty($this->password)) {

fputs($handle, 'EHLO ' . getenv('SERVER_NAME') . $this->crlf);

$reply = '';

while ($line = fgets($handle, 515)) {

$reply .= $line;

if (substr($line, 3, 1) == ' ') {

break;

}

}

if (substr($reply, 0, 3) != 250) {

error_log('Error: EHLO not accepted from server!');

}

fputs($handle, 'AUTH LOGIN' . $this->crlf);

$reply = '';

while ($line = fgets($handle, 515)) {

$reply .= $line;

if (substr($line, 3, 1) == ' ') {

break;

}

}

if (substr($reply, 0, 3) != 334) {

error_log('Error: AUTH LOGIN not accepted from server!');

}

fputs($handle, base64_encode($this->username) . $this->crlf);

$reply = '';

while ($line = fgets($handle, 515)) {

$reply .= $line;

if (substr($line, 3, 1) == ' ') {

break;

}

}

if (substr($reply, 0, 3) != 334) {

error_log('Error: Username not accepted from server!');

}

fputs($handle, base64_encode($this->password) . $this->crlf);

$reply = '';

while ($line = fgets($handle, 515)) {

$reply .= $line;

if (substr($line, 3, 1) == ' ') {

break;

}

}

if (substr($reply, 0, 3) != 235) {

error_log('Error: Password not accepted from server!');

}

} else {

fputs($handle, 'HELO ' . getenv('SERVER_NAME') . $this->crlf);

$reply = '';

while ($line = fgets($handle, 515)) {

$reply .= $line;

if (substr($line, 3, 1) == ' ') {

break;

}

}

if (substr($reply, 0, 3) != 250) {

error_log('Error: HELO not accepted from server!');

}

}

if ($this->verp) {

fputs($handle, 'MAIL FROM: <' . $this->from . '>XVERP' . $this->crlf);

} else {

fputs($handle, 'MAIL FROM: <' . $this->from . '>' . $this->crlf);

}

$reply = '';

while ($line = fgets($handle, 515)) {

$reply .= $line;

if (substr($line, 3, 1) == ' ') {

break;

}

}

if (substr($reply, 0, 3) != 250) {

error_log('Error: MAIL FROM not accepted from server!');

}

if (!is_array($this->to)) {

fputs($handle, 'RCPT TO: <' . $this->to . '>' . $this->crlf);

$reply = '';

while ($line = fgets($handle, 515)) {

$reply .= $line;

if (substr($line, 3, 1) == ' ') {

break;

}

}

if ((substr($reply, 0, 3) != 250) && (substr($reply, 0, 3) != 251)) {

error_log('Error: RCPT TO not accepted from server!');

}

} else {

foreach ($this->to as $recipient) {

fputs($handle, 'RCPT TO: <' . $recipient . '>' . $this->crlf);

$reply = '';

while ($line = fgets($handle, 515)) {

$reply .= $line;

if (substr($line, 3, 1) == ' ') {

break;

}

}

if ((substr($reply, 0, 3) != 250) && (substr($reply, 0, 3) != 251)) {

error_log('Error: RCPT TO not accepted from server!');

}

}

}

fputs($handle, 'DATA' . $this->crlf);

$reply = '';

while ($line = fgets($handle, 515)) {

$reply .= $line;

if (substr($line, 3, 1) == ' ') {

break;

}

}

if (substr($reply, 0, 3) != 354) {

error_log('Error: DATA not accepted from server!');

}

fputs($handle, $header . $message . $this->crlf);

fputs($handle, '.' . $this->crlf);

$reply = '';

while ($line = fgets($handle, 515)) {

$reply .= $line;

if (substr($line, 3, 1) == ' ') {

break;

}

}

if (substr($reply, 0, 3) != 250) {

error_log('Error: DATA not accepted from server!');

}

fputs($handle, 'QUIT' . $this->crlf);

$reply = '';

while ($line = fgets($handle, 515)) {

$reply .= $line;

if (substr($line, 3, 1) == ' ') {

break;

}

}

if (substr($reply, 0, 3) != 221) {

error_log('Error: QUIT not accepted from server!');

}

fclose($handle);

}

}

}

}

?>

Что это за ошибка и как её исправить?Кто подскажет!

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
vilija    39

Странно. Эта ошибка если выбран протокол SMTP. У вас по скриншоту - mail.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
vilija    39

У меня работает , как у вас на скриншоте только поля SMTP хост, логин и пароль почистить . А какие варианты в "Протокол почты:" ?

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
dvi30011973    1

SMTP хост: smtp.timeweb.ru

SMTP логин:ваш почтовый адрес полностью

SMTP пароль: пароль от почты

SMTP порт: 25 (или 2525)

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
Tom    2 012

SMTP логин не нужно полностью писать почту, только сам логин.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
Siege    4

Тут вопрос вот в чем. А установлен ли SMTP на сервере вообще? И mail.php тут не причем. Нет соединения на 25 порт. Причина: не установлен/не правильно настроен полноценный почтовый сервер (SMTP), закрыты порты.

Что мешает пользоваться почтой средствами exim4, который так же должен быть настроен. Только настройка (в отличие от SMTP) тут делается в одну команду из терминала. Хотя, судя по пути к директории сайта, на все вопросы Вам должен ответить/помочь хостер.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
dvi30011973    1

В роди настроил.Вот только в письме с уведомлением о заказе покупателя .В нём приходит прикреплённый файл логотипа магазина.Как можно его убрать?Спасибо.

И ещё вопросик.В письме то что приходит покупателю.Есть вот такая строчка:

Благодарим за интерес к товарам Интернет-магазин.«Арсенал Леди». Ваш заказ получен и поступит в обработку после подтверждения оплаты.

Как исправить:подтверждения оплаты. на :подтверждения заказа.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
vilija    39

Убрать лого

catalog/model/checkout/order.php

Закомментить строку

// $mail->addAttachment(DIR_IMAGE . $this->config->get('config_logo'));

По тексту , правьте

catalog/language/russian/mail/order_confirm.php

$_['text_greeting']

Изменено пользователем vilija

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
vilija    39

В роди настроил.Вот только в письме с уведомлением о заказе покупателя .В нём приходит прикреплённый файл логотипа магазина.Как можно его убрать?Спасибо.

И ещё вопросик.В письме то что приходит покупателю.Есть вот такая строчка:

Благодарим за интерес к товарам Интернет-магазин.«Арсенал Леди». Ваш заказ получен и поступит в обработку после подтверждения оплаты.

Как исправить:подтверждения оплаты. на :подтверждения заказа.

А что таки с почтой было ?

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
dvi30011973    1

Почта заработала после того как хостеры перелинковали домен для сайта.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
dvi30011973    1

Текст я отредактировал.Спасибо.

А вот с лого не совсем получилось.Я удалил:<img src="<?php echo $logo; ?>" alt="<?php echo $store_name; ?>"

Теперь самого логотипа нет но осталась ссылка :alt="Интернет-магазин.«Арсенал Леди»" style="border: none;" > и сам прикреплённый файл с локо: для скачивания. Как же убрать их.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
vilija    39

Поправка по лого . tpl файл верните к прежнему виду.

catalog/model/checkout/order.php

Закомментить строку

// $mail->addAttachment(DIR_IMAGE . $this->config->get('config_logo'));

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
dvi30011973    1

Всё получилось.Спасибо.

Ещё вопросик есть точнее два.

Я установил модуль соц-сетей FollowMe153. но моя версия ocstore_v0.1.7 и у меня при входе изменить выпадает ошибка:

Fatal error: Call to a member function link() on a non-object in C:xampphtdocsooo-arle.ruadmincontrollermodulefollowme.php on line 89

Это можно исправить?

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Для публикации сообщений создайте учётную запись или авторизуйтесь

Вы должны быть пользователем, чтобы оставить комментарий

Создать учетную запись

Зарегистрируйте новую учётную запись в нашем сообществе. Это очень просто!

Регистрация нового пользователя

Войти

Уже есть аккаунт? Войти в систему.

Войти


  • Последние посетители   0 пользователей онлайн

    Ни одного зарегистрированного пользователя не просматривает данную страницу