Warning: Cannot use a scalar value as an array in /home/admin/public_html/forum/include/fm.class.php on line 757

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/include/fm.class.php on line 770

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/topic.php on line 737
Форумы портала PHP.SU :: Письмо с кликабельной картинкой

 PHP.SU

Программирование на PHP, MySQL и другие веб-технологии
PHP.SU Портал     На главную страницу форума Главная     Помощь Помощь     Поиск Поиск     Поиск Яндекс Поиск Яндекс     Вакансии  Пользователи Пользователи


 Страниц (1): [1]   

> Без описания
leshiy
Отправлено: 05 Октября, 2016 - 21:10:43
Post Id


Частый гость


Покинул форум
Сообщений всего: 188
Дата рег-ции: Июнь 2008  


Помог: 0 раз(а)




Можно ли вообще отправить письмо через посторонний E-Mail сервер через php код со своего сайта с кликабельной картинкой (т.е. если кликнешь на картинку и перейдешь на свой сайт)?
Я использую PHPMailer.
PHP:
скопировать код в буфер обмена
  1.  
  2. <?PHP
  3. require 'PHPMailerAutoload.php';
  4. $mail = new PHPMailer;
  5. $mail->isSMTP();
  6. $mail->Host = 'smtp.yandex.ru';
  7. $mail->SMTPAuth = true;
  8. $mail->Username = '';
  9. $mail->Password = '';
  10. $mail->SMTPSecure = 'ssl';
  11. $mail->Port = '465';
  12. $mail->CharSet = 'utf-8';
  13. $mail->From = '';
  14. $mail->FromName = 'Alex';
  15. $mail->addAddress('adress@yandex.ru', 'Alex');
  16. $mail->isHTML(true);
  17. $mail->Subject = 'Письмо';
  18. $mail->Body = 'Привет! <p>ВСЕМ!</p>';
  19. $mail->AltBody = 'Приввет! ВСЕМ!';
  20. $mail->addAttachment('a0504.jpg', 'Картинка');
  21. // $mail->SMTPDebug = 2;
  22. if($mail->send()){
  23. echo 'Письмо отправлено';
  24. }else{echo 'Ошибка';}
  25. ?>
  26.  
 
 Top
IllusionMH
Отправлено: 06 Октября, 2016 - 01:18:55
Post Id



Активный участник


Покинул форум
Сообщений всего: 4254
Дата рег-ции: Февр. 2011  
Откуда: .kh.ua


Помог: 242 раз(а)




leshiy, банально в тело всунуть ссылку а в ней изображение в тело письма
CODE (html):
скопировать код в буфер обмена
  1. <a href="http://example.com"><img src="..."/></a>

(Отредактировано автором: 06 Октября, 2016 - 01:19:23)

 
 Top
leshiy
Отправлено: 06 Октября, 2016 - 11:51:44
Post Id


Частый гость


Покинул форум
Сообщений всего: 188
Дата рег-ции: Июнь 2008  


Помог: 0 раз(а)




IllusionMH пишет:
leshiy, банально в тело всунуть ссылку а в ней изображение в тело письма
CODE (html):
скопировать код в буфер обмена
  1. <a href="http://example.com"><img src="..."/></a>

Пробовал, не выходит.
PHP:
скопировать код в буфер обмена
  1.  
  2. $aaa = '<a href="http://sait.ru"><img src="a0504.jpg"></a>';
  3. $mail->addAttachment($aaa, 'Картинка');
  4.  

(Отредактировано автором: 06 Октября, 2016 - 11:54:23)

 
 Top
Мелкий Супермодератор
Отправлено: 06 Октября, 2016 - 12:25:57
Post Id



Активный участник


Покинул форум
Сообщений всего: 11926
Дата рег-ции: Июль 2009  
Откуда: Россия, Санкт-Петербург


Помог: 618 раз(а)




Не в addAttachment, а в тело. И лучше src указать не http://, а файловым путём на машинке, где выполняется phpmailer. PHPMailer при отправке парсит HTML тело сообщения и нормально встраивает изображения в тело письма так, что с отключенной загрузкой картинок из внешних источников (емнип, дефолтное поведение много у кого) картинка будет отображаться.


-----
PostgreSQL DBA
 
 Top
leshiy
Отправлено: 06 Октября, 2016 - 12:36:20
Post Id


Частый гость


Покинул форум
Сообщений всего: 188
Дата рег-ции: Июнь 2008  


Помог: 0 раз(а)




PHP:
скопировать код в буфер обмена
  1. $mail->Body = 'Привет! <p>ВСЕМ!</p><br><a href="http://sait.ru"><img src="a0504.jpg"></a>';
  2.  

Так тоже не выходит.
 
 Top
Мелкий Супермодератор
Отправлено: 06 Октября, 2016 - 13:19:32
Post Id



Активный участник


Покинул форум
Сообщений всего: 11926
Дата рег-ции: Июль 2009  
Откуда: Россия, Санкт-Петербург


Помог: 618 раз(а)




Что возвращает createBody?


-----
PostgreSQL DBA
 
 Top
leshiy
Отправлено: 06 Октября, 2016 - 13:21:35
Post Id


Частый гость


Покинул форум
Сообщений всего: 188
Дата рег-ции: Июнь 2008  


Помог: 0 раз(а)




Мелкий пишет:
Что возвращает createBody?

Письмо приходит но вообще без картинки.
 
 Top
Мелкий Супермодератор
Отправлено: 06 Октября, 2016 - 13:32:39
Post Id



Активный участник


Покинул форум
Сообщений всего: 11926
Дата рег-ции: Июль 2009  
Откуда: Россия, Санкт-Петербург


Помог: 618 раз(а)




Ещё раз. Я спросил:
Мелкий пишет:
Что возвращает createBody?

А не что вам приходит на почту. Впрочем, там тоже можно посмотреть в исходнике письма. Но зачем дёргать почту, когда можно проверить локально?


-----
PostgreSQL DBA
 
 Top
leshiy
Отправлено: 06 Октября, 2016 - 14:24:55
Post Id


Частый гость


Покинул форум
Сообщений всего: 188
Дата рег-ции: Июнь 2008  


Помог: 0 раз(а)




Мелкий пишет:
Ещё раз. Я спросил:
Мелкий пишет:
Что возвращает createBody?

А не что вам приходит на почту. Впрочем, там тоже можно посмотреть в исходнике письма. Но зачем дёргать почту, когда можно проверить локально?

А что это и где это посмотреть?
 
 Top
Мелкий Супермодератор
Отправлено: 06 Октября, 2016 - 14:33:29
Post Id



Активный участник


Покинул форум
Сообщений всего: 11926
Дата рег-ции: Июль 2009  
Откуда: Россия, Санкт-Петербург


Помог: 618 раз(а)




Публичный метод класса PHPMailer. Который собственно и создаёт тело письма для последующей отправки.


-----
PostgreSQL DBA
 
 Top
leshiy
Отправлено: 06 Октября, 2016 - 14:45:30
Post Id


Частый гость


Покинул форум
Сообщений всего: 188
Дата рег-ции: Июнь 2008  


Помог: 0 раз(а)




Мелкий пишет:
Публичный метод класса PHPMailer. Который собственно и создаёт тело письма для последующей отправки.

Есть только вот эти классы:
require 'class.phpmailer.php';
require 'class.phpmaileroauth.php';
require 'class.phpmaileroauthgoogle.php';
require 'class.pop3.php';
require 'class.smtp.php';
(Добавление)
С этим вроде разобрался нужно было всего лишь прописать полный адрес до картинки.
А вот почему при отправке письма на 2 разных ящика пишет: SPAM?
$mail->addAddress('ящик@yandex.ru', 'iqqqq');
$mail->addAddress('ящик@mail.ru', 'iqqqq');
 
 Top
Страниц (1): [1]
Сейчас эту тему просматривают: 0 (гостей: 0, зарегистрированных: 0)
« Вопросы новичков »


Все гости форума могут просматривать этот раздел.
Только зарегистрированные пользователи могут создавать новые темы в этом разделе.
Только зарегистрированные пользователи могут отвечать на сообщения в этом разделе.
 



Powered by PHP  Powered By MySQL  Powered by Nginx  Valid CSS  RSS

 
Powered by ExBB FM 1.0 RC1. InvisionExBB