- Поисковые системы
- Практика оптимизации
- Трафик для сайтов
- Монетизация сайтов
- Сайтостроение
- Социальный Маркетинг
- Общение профессионалов
- Биржа и продажа
- Финансовые объявления
- Работа на постоянной основе
- Сайты - покупка, продажа
- Соцсети: страницы, группы, приложения
- Сайты без доменов
- Трафик, тизерная и баннерная реклама
- Продажа, оценка, регистрация доменов
- Ссылки - обмен, покупка, продажа
- Программы и скрипты
- Размещение статей
- Инфопродукты
- Прочие цифровые товары
- Работа и услуги для вебмастера
- Оптимизация, продвижение и аудит
- Ведение рекламных кампаний
- Услуги в области SMM
- Программирование
- Администрирование серверов и сайтов
- Прокси, ВПН, анонимайзеры, IP
- Платное обучение, вебинары
- Регистрация в каталогах
- Копирайтинг, переводы
- Дизайн
- Usability: консультации и аудит
- Изготовление сайтов
- Наполнение сайтов
- Прочие услуги
- Не про работу
Авторизуйтесь или зарегистрируйтесь, чтобы оставить комментарий
Юзал интернет. Нашел вот тут http://www.spravkaweb.ru/php/sovet/mail/file и тут
функции по прикреплению файлов http://www.spravkaweb.ru/php/sovet/mail/image
Но нифига она не работает
Для теста пробовал так вызывать
В итоге на my@yandex.ru приходит коцаное письмо ни вложений ни названия темы нихера ничего почти.
Может кто знает как эту функции допилить можно?
Файло должен находиться у вас на сервере, а не где-то там.
А fopen не может разве при наличии разрешений/библиотек или как оно там правильно называется (wrapper вроде), открывать файлы по url?
Но так да, надежнее файлс со своего сервера аттачить и рекомендую заюзать какую-нибудь более специализированную библиотеку, типа SwiftMailer, чтоли.
Даже если этот код и прикрепит вам к письму картинку - то вставляете в письмо вы её неправильно.
Чет не помогло. Скрипт и файл в одной папке.
Попробовал сейчас 3 варианта поочередно:
sendMail("my@yandex.ru", "otpravitel@yandex.ru", "Сергей", "Тема письма", $message2, "wp-content/uploads/01.jpg");
sendMail("my@yandex.ru", "otpravitel@yandex.ru", "Сергей", "Тема письма", $message2, "http://mysite.ru/wp-content/uploads/01.jpg");
sendMail("my@yandex.ru", "otpravitel@yandex.ru", "Сергей", "Тема письма", $message2, "01.jpg");
Пробовал и на одном серваке.
Получаю такую штуку fopen(wp-content/uploads/01.jpg): failed to open stream: No such file or directory in
Даже если этот код и прикрепит вам к письму картинку - то вставляете в письмо вы её неправильно.
А как правильно?
PS Я умышленно не хочу использовать мудреных библиотек. Тк по сути они то на обычной функции mail основаны. Хочу разобраться, как все работает. Чтобы знать.
Может в приведенной мною функции как-то неверно заголовок сформирован? Или еще что.
Тк. к примеру, попробовал на другом хостинге эту функию - полезли траблы. Пришлось заменить кое-что на вот - такое.
Взято с того же сайта. Только с другой страницы. Эта же функция, ток чутка упрощенная.
В этом коде картинка уже как минимум правильно в html прописана.
А так, если хотите руками всё формировать - то ищите rfc на почтовые сообщения.
Попробуйте разные варианты пути передать в функцию file_exists() - какой вариант true выдаст - то и пользуйте. Если файл лежит в той же папке, что и скрипт - попробуйте __DIR__.DIRECTORY_SEPARATOR."01.jpg";
Если хотите отправлять почту с вложением из пхп, то рекомендую сразу использовать phpmailer.
брать с github, проблем не будет с прохождением писем и не надо ничего форматировать самому.
Как было сказано, если хотите разобраться, читайте спеки. Вот вам подсказка:
---------- Добавлено 11.03.2015 в 01:02 ----------
По протоколу разделителем строк является "\r\n".
Вот я тут чутка запутался)) Лазил по разным сайтам в итоге сам свое написал (точнее собрал по частям и чутка своего).
Родил такой скрипт. (Даже удаленно загружает картинки, т.е не обязательно, чтобы был на моем серваке).
Картинка в сообщение вставляется на ура!
Но. Она просто вставляется. Она не вложение. (скрепки нет, чтоб скачать.) Подскажите, как допилить можно...
Насколько я помню, для вставки надо, чтобы у картинки
было
Умеющий читать да прочтет...
Если мне не изменяет память, то в тело письма контент из аттачей вставляется с использованием content-id (cid), а не с указанием имени файла.
А fopen() в PHP может открывать и урлы, если это разрешено настройками.