Link-uri in mesajele de email

Discutii despre script-uri si coduri PHP-MySQL, precum si lucru cu XML in PHP.
cata20
Mesaje:11

Link-uri in mesajele de email

Cand trimit e-mail cu link-uri, apar in casuta de e-mail fie a diferitilor provideri de email sau chiar si in casuta de email a sitului ,doar ca simplu text. Doar uneori imi apar clikabile.

Cod: Selectaţi tot

$url = "http://".$_SERVER['HTTP_HOST'] . str_replace("\\", "", dirname($_SERVER['PHP_SELF'])) . "/groups_invite.php?cmd=join&group_id=" . $group['group_id'] . "&key=";
Ma poate sfatui careva ?

Multumesc anticipat .

MarPlo Mesaje:4343
Salut
Unele servere de e-mail interpreteaza adresa URL ca link, altele nu.
Ca sa trimiti email-uri care sa contina tag-uri HTML, inclusiv link-uri, trebuie sa adaugi header-ul acesta in codul scriptuli:

Cod: Selectaţi tot

$headers .= "Content-type: text/html; charset=iso-8859-1\r\n";
Vezi mai multe detalii si cod complet la pagina: Trimitere e-mail cu tag-uri si atasament.
- Apoi adaugi link-ul in tag <a>.

cata20 Mesaje:11
Merci Mariuse

Am declarat variabila.

Cod: Selectaţi tot

 $headers = get_param("invite_message", "");
   $url = "http://".$_SERVER['HTTP_HOST'] . str_replace("\\", "", dirname($_SERVER['PHP_SELF'])) . "/groups_invite.php?cmd=join&group_id=" . $group['group_id'] . "&key=";
 $headers .= "Content-type: text/html; charset=iso-8859-1\r\n";
Dar nimic ,doar in Chrome mi-l recunoaste ca link . Iar in emailul sitului caci primeste membru si acolo mesajul , tot,doar text.

Totusi e ceea ce ai spus tu despre provideri.

Nu-mi da eroare cel putin :)

am puso si global

Cod: Selectaţi tot

global $headers;
dar acelasi lucru.

ecautro Mesaje:6
sa nu uitam ca fiecare casuta de email are optiunea sa primeasca doar plain text
eu personal asa am setat toate casutele de mail.

cata20 Mesaje:11
Mariuse sau cine poate sa-mi dea un sfat.
In primul rand merci ptr optiunea cu $headers. Asa e, am puso ca global in alt fisier php care genereaza o alta pagina php a urmatorului grup de invitati si imi functioneaza super ,culmea, in toate browserele.Merci mult !
Mai am problema cu emailul primit de user in cadrul emailului sitului. Cand cineva trimite o invitatie primeste linkul invitatiei atat in emailul lui personal cat si in emailul lui ca user al sitului.
Remedierea ar fi ,spun eu, sa pun :

Cod: Selectaţi tot

$url = "http://".$_SERVER['HTTP_HOST'] . str_replace("\\", "", dirname($_SERVER['PHP_SELF'])) . "/groups_invite.php?cmd=join&group_id=" . $group['group_id'] . "&key=";"
cam asa... <a href....>"$url=............."</a> insasi in fisierul php

Am incercat mai multe variante si imi apare in emailul sitului ca link doar prima parte, ultima ,cea cu "&key="; imi apare ca cod de cifre cum trebuie sa apara ,doar ca e in text. Intrebarea mea e, fara sa influentez gresit cu ce am incercat eu , care ar fi varianta ptr a pune sub forma de href din fisierul php secventa de mai jos:

Cod: Selectaţi tot

$url = "http://".$_SERVER['HTTP_HOST'] . str_replace("\\", "", dirname($_SERVER['PHP_SELF'])) . "/groups_invite.php?cmd=join&group_id=" . $group['group_id'] . "&key=";"
Va multumesc anticipat_Cata

Edit:
Am rezolvat, merci mult. Am adaugat variablila: $gid = $group['group_id'];
gid fiind ptr key and it,s workkkkkkkkkkk.Thanks a lot,Merci multttttttt:
Nu-un email e in functie de ceea ce iti ofera serverul,plain ,image, sau alte variante care trebuie puse in cod.
Merciiiiiiiiiiii!

Ps: Revin cu alte nelamuriri ,ador situl asta si istetul care ne invata atat de multe.

adi94 Mesaje:13
Ma interesat si pe mine o data chestia asta dar abia acum am gasit raspuns la ea:D
Apropo tot ptrimesc reclame pe mail si pe backround au atatsate si imagini,are cineva idee cum se face asta?

MarPlo Mesaje:4343
Ca sa adaugi imagine background la email, trebuie trimis cu cod HTML, iar mesajul il poti adauga intr-un DIV cu "style" care sa aplice imaginea in background.
Imaginea sa se afle la o adresa pe server, iar in "style" se adauga calea catre imagine cu acea adresa, cam asa:

Cod: Selectaţi tot

<div style="background: url("http://www.marplo/imgs/baner.jpg");">

cata20 Mesaje:11
Wow, bine ca am revazut cautand o alta postare pe care cred ca profesorul nostru mi-a mutat-o la css unde ii e locul si am observat ca nu am trecut linia de cod,deci ce e mai important.

La mine a mers asa,poate va loviti si voi si o modificati in functie de cerintele voastre.

$text = str_replace("{url}","<a href=".$url.$key.">".$url.$key."</a>",$text_source);

Ptr mailurile providerelor mi-a mers cu ce mi-a spus MarPlo iar ptr ca linkul care imi apare in emailul sitului sa fie clickabil am rezolvat cu linia de mai sus.

Subiecte similare