PHP: Бидавед, симои боркунц скрипт дарунсохти дар паёми электронӣ

Ин Маслиҳат барои касе, ки мехоҳад, то бидонед, ки агар ба почтаи электронӣ фиристода шумо хонда шуд, хеле фоиданок аст. дар ин маврид, гузоред тасвир дар бадани паёми почтаи электронӣ, чун кушода, як скрипт дар бораи сервери дурдастро ангеза.

пешкаш

Ин техника ба таври васеъ дар маркетинг почтаи электронӣ истифода бурда мешавад, ба тавре ки фиристанда садҳо ё ҳазорҳо мактубҳои мефиристад гирандаи почта шумо иштиёқ барои расидан ба як шунавандагони мақсаднок, ва фикру тааҷҷубовар (бозгашт) маъракаи, ба ибораи дигар, агар гирандаи хонда кардааст, ё не, сохта-дар реклама почтаи электронӣ.

он чӣ тавр кор?
Ба андешаи оддӣ аст, шумо танҳо дар бадани почтаи электронӣ гузошта (мазмуни) тасвир барчасбҳо HTML, бо аттрибутӣ SRC ишора, нест, ки бевосита ба тасвир он аст, ки одатан ба амал, балки барои як дастнависи одати баргузор бораи сервери дурдастро, ки дар он шумо метавонед баъзе реҷаи иҷро ва, Пас ҳа, ботил тасвир (ё не,). душвор? чизе, Масалан, нигаред ба:

1
2
3
<?PHP
  <SRC IMG="http://seuservidor.com/script.php?email=pessoa@gmail.com&ҳадаф = Taylor + Lopes" />
?>

аст?
Дар хотир доред, ки вақте ки корбар мекушояд почтаи электронӣ, ба таври худкор тасвир гумон бор мешавад, ки аст, дар асл як скрипт. Ин омор, почтаи электронӣ, ки дар visualized шуданд хеле фоиданок аст, аз ҷумла муайян кардани ТУТ кушода (паёми) ва ВАҚТЕ (сана / вақти). равшан, он нест, “сагашон”, мо медонем, ки почтаи электронӣ кушод, atrelamos, зеро ин маълумот дар URL ҳайкал ҳангоми фиристодани он.

аыидаи
Барои ин ба кор, гиранда ҳатман бояд танзим карда шавад, то ки почтаи электронии шумо аст, дар формати HTML хонда, ҳарчанд ин аст, аллакай як стандарти қабул аз тарафи аксарияти истифодабарандагон. Дар бадтарин, провайдери почтаи электронӣ хоҳад сухан паём, ки тасвирҳои баста намоиш, Аммо илтимос агар корбар мехоҳад, ки барои намоиши, ки он низ аст, одатан қабул, зеро чанд нафар кина дида мешавад, дар ин амал,. Дар мавриди Google, як паём дар шакли пайванд пайдо, ҳамин тавр:

1
2
3
...
  Тасвирҳо назар мерасад, - тасвирҳо Display поён - Ҳамеша тасвирҳо suport нишон@почтаи электронӣ.Microsoft.бо
...

Ман дар бораи хоҳад эзоҳро ду роҳҳои ба ин кор; њам кор баробар, ва дуюм доно аст, ки барои намоиши нест, маълумот дар URL, ҳарчанд аз он талаб хусусияти нигаҳдории бештар. Биё дар бораи!

ҳал 1

дар амал
Шумо бояд танҳо ду Рамзҳои PHP:
(1) яке барои фиристодани почтаи электронӣ дар формати HTML, бо сохта-дар теги IMG
(2) ва дигаре ба гирифтани маълумот дар вақти почтаи кушода аст

ҚАДАМИ 1 – Email

sendmail.php
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
<?PHP
  // *** Имейли шумо (ирсолкунанда почтаи электронӣ)
  $remetente_nome     = "Anonymous";
  $remetente_email    = 'Anonimo@email.com';
 
  // *** мақсадноки шумо (почтаи электронӣ, ба ирсолкунанда) 
  $destinatario_nome  = 'Марио Bross';
  $destinatario_email = 'Mariobross@email.com';
 
  // *** мақоми Мавзӯи ва паёми
  $фан      = 'Санҷиши иҷрои скрипт ба бор тасвир ».;
  $хабар     = '
    <html lang="pt-br">
      <сар>
        <meta charset="iso-8859-1" />    
        <ном>'.$фан.'</ном>
      </сар>
      <бадан>
        <img src="http://seuservidor.com/script.php?почтаи электронӣ = '.urlencode($destinatario_email).'&ҳадаф = '.urlencode($destinatario_nome).'&Мавзуъ = '.urlencode($фан).'" />
      </бадан>
    </HTML>';
 
  // Сарлавҳаи изњор намуд, ки мӯҳтавои он дар намуди HTML (то тавонанд ба хондани теги IMG ва идора кардани скрипт)
  $сарлавҳаи       = "MIME-Version: 1.0"; 
  $сарлавҳаи      .= "Content-type: Матни / HTML; рамзоти иттилоот = ISO-8859-1"; 
  $сарлавҳаи      .= "From: ".(холӣ($remetente_nome) ? $remetente_email : '"'.$remetente_nome.'" <'.$remetente_email.'>')."";
 
  // Ирсоли почтаи электронӣ
  $почтаи электронӣ = холӣ($destinatario_nome) ? $destinatario_email : '"'.$destinatario_nome.'" <'.$destinatario_email.'>';
  почта($почтаи электронӣ, $фан, $хабар, $сарлавҳаи);
?>

ҚАДАМИ 2 – гирифтани маълумот

хуб, Шумо пай бурд, ки ҳангоми хондани теги IMG занг мешавад ба файли дод “script.php”, баъзе? Пас, ҳоло мо бояд онро барои эҷоди иттилоот ва нигоҳ доштани он эҷод кунем, беҳтараш дар пойгоҳи додаҳо.

Сохтани МИЗИ
Азбаски мо бояд маълумоти қабулкунандаеро, ки почтаи электрониро кушодааст, нигоҳ дорем, мо метавонем ҷадвале ба монанди ҷадвали зер созем. Ба майдон нигаред `datahora_visualizado`, que refere-se última data e hora em que o usuário visualizou o e-mail e o campo `contador`, que irá registrar a quantidade de vezes que o e-mail foi visto.

maladireta.sql
1
2
3
4
5
6
7
8
9
CREATE TABLE  `maladireta` (
  `id` INT NOT NULL AUTO_INCREMENT PRIMARY KEY ,
  `email` VARCHAR( 100 ),
  `destinatario` VARCHAR( 100 ),
  `assunto` VARCHAR( 200 ),
  `datahora_envio` DATETIME NOT NULL,
  `datahora_visualizado` DATETIME,
  `contador` INT DEFAULT 0
) ENGINE = MYISAM ;

Script барои гирифтани иттилоот ва нишон додани тасвир
моҳаи, биёед маълумоте, суроғаи почтаи электрониашро, номи қабулкунанда, Мавзӯи паём ва санаи / вақти ки почтаи электронӣ кушод, нигоьдории он дар хазинаи мо офаридааст,, Агар мо лозим аст, ки ояндаи оморї. Не дастнависи рйхати ниҳоӣ, Дар асл эҷод ва нишон додани тасвир, танҳо ба нест, даст теги IMG бо бӯҳрони existential :), Вале, агар шумо мехоҳед, ки барои намоиши чизе, эҷод на камтар аз як симои холӣ (1×1 пиксел) ба даст Tag шикаста нест,.

script.php
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
<?PHP
  // Initializes ва сарукордошта параметрҳои вуруди
  $destinatario_email = trim(strip_tags(addslashes($_REQUEST['Почтаи электронӣ'])));
  $destinatario_nome  = trim(strip_tags(addslashes($_REQUEST['Қабулкунанда])));
  $фан            = trim(strip_tags(addslashes($_REQUEST['Мавзӯъ'])));       
 
  // Пайваст ба хазинаи (Мувофиқ кардани васл)
  $пайванд = mysql_connect('Mysql.seuservidor.com', 'Реша', 'MyPassword *** ***') ё ба(Ба пайвастшавӣ ба базаи нашуд. ';); 
  mysql_select_db('seubancodedados') ё ба('Falhou ao selecionar o banco de dados');
 
  // Monta a SQL e insere no banco de dados, caso email ainda não exista, ou atualiza contador se existir
  $sql = 'SELECT email FROM maladireta WHERE email="'.$destinatario_email.'"';
  $res = mysql_query($sql);
  агар (mysql_num_rows($res) > 0) {
    $sql = 'UPDATE maladireta SET datahora_visualizado="'.date('Y-m-d H:ман:s').'", contador=contador+1 WHERE email="'.$destinatario_email.'"';    
  }
  else {
    $sql = 'INSERT INTO maladireta VALUES (null, "'.$destinatario_email.'", "'.$destinatario_nome.'", "'.$фан.'", "'.date('Y-m-d H:ман:s').'", null, 0)';
  }
  mysql_query($sql);
 
  // Cria e exibe a imagem embutida ao email
  сарлавҳаи("Content-type: image/png");
  $IMG = imagecreatefrompng("imagem.png");
  imagepng($IMG);
  imagedestroy($IMG);
?>

мушоҳида: Фаромӯш накунед, ки якҷоя дастнависи тасвир, ҳеҷ ваҷҳ, ман даъват “imagem.png”. Ин тасвир дар бадани қабулкунанда почтаи электронӣ пайдо хоҳад кард, ва дар он одамон маркетинг гузошта реклама, вале он метавонад як логотип ва ё ҳар чӣ ки шумо мехоҳед. Дар скрипт озмуда шуд ва корҳои!

ҳал 2

имконияти дигар
Мӯй мувофиқи ҳамтои пешниҳод Леандро, имкони доно ва “таъмин” мекарданд, ҷои ваМакедония дар URL ҳайкал бисёр маълумот ба монанди почтаи электронӣ, фан, ва ғайра, сохтани шудаи дар вақти почтаи электронӣ фиристодан пайвастан ба ин иттилоот, ва ирсол ягона шудаи URL. Вақте, ки гиранда почтаи мекушояд ва боргузорӣ тасвир, ҳаракати нақлиёт танҳо хоҳад шудаи он гоҳ, ки аз тарафи скрипт мо забт ва реља, ки ба маълумоти мо мехоҳем, ки медонем,.

Сохтани миз шудаи ва Link маълумот
Мо як миз аст, ки аҳолии ҳар замон эҷод хоҳад кард, мо ирсол почтаи электронӣ. Дар хотир доред, дар соҳаи `hash`, ки он њамчун замима почтаи электронӣ фиристода шуда буд ва гирандаи маълумоти, ки дар ҷадвали захира карда шуда хизмат.

maladireta.sql
1
2
3
4
5
6
7
8
9
10
CREATE TABLE  `maladireta` (
  `id` INT NOT NULL AUTO_INCREMENT PRIMARY KEY ,
  `шудаи`VARCHAR( 50 ) нест NULL,
  `email` VARCHAR( 100 ),
  `destinatario` VARCHAR( 100 ),
  `assunto` VARCHAR( 200 ),
  `datahora_envio` DATETIME NOT NULL,
  `datahora_visualizado` DATETIME,
  `contador` INT DEFAULT 0
) ENGINE = MYISAM

Фиристодани почтаи электронӣ

sendmail.php
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
<?PHP
  // *** Имейли шумо (ирсолкунанда почтаи электронӣ)
  $remetente_nome     = "Anonymous";
  $remetente_email    = 'Anonimo@email.com';
 
  // *** мақсадноки шумо (почтаи электронӣ, ба ирсолкунанда) 
  $destinatario_nome  = 'Марио Bross';
  $destinatario_email = 'Mariobross@email.com';
 
  // *** маълумоти дигар ба меистанд ва шудаи (муайянсозандаи)
  $шудаи               = md5(RAND());
  $фан            = 'Санҷиши иҷрои скрипт ба бор тасвир ».;
  $datahora_envio     = date('Y-m-d H:ман:s');
 
  // Пайваст ба хазинаи
  $пайванд = mysql_connect('Mysql.seuservidor.com', 'Реша', 'MyPassword *** ***') ё ба(Ба пайвастшавӣ ба базаи нашуд. ';); 
  mysql_select_db('seubancodedados') ё ба('Falhou ao selecionar o banco de dados');  
 
  // Monta a SQL e insere no banco de dados
  $sql = 'INSERT INTO maladireta VALUES (null, "'.$шудаи.'", "'.$destinatario_email.'", "'.$destinatario_nome.'", "'.$фан.'", "'.$datahora_envio.'", null, 0)';
  mysql_query($sql);
 
  // *** Паём ки фиристодагон
  $хабар     = '
    <html lang="pt-br">
      <сар>
        <meta charset="iso-8859-1" />    
        <ном>'.$фан.'</ном>
      </сар>
      <бадан>
        <img src="http://seuservidor.com/script.php?шудаи = '.$шудаи.'" />
      </бадан>
    </HTML>';
 
  // Сарлавҳаи изњор намуд, ки мӯҳтавои он дар намуди HTML (то тавонанд ба хондани теги IMG ва идора кардани скрипт)
  $сарлавҳаи       = "MIME-Version: 1.0"; 
  $сарлавҳаи      .= "Content-type: Матни / HTML; рамзоти иттилоот = ISO-8859-1"; 
  $сарлавҳаи      .= "From: ".(холӣ($remetente_nome) ? $remetente_email : '"'.$remetente_nome.'" <'.$remetente_email.'>')."";
 
  // Ирсоли почтаи электронӣ
  $почтаи электронӣ = холӣ($destinatario_nome) ? $destinatario_email : '"'.$destinatario_nome.'" <'.$destinatario_email.'>';
  почта($почтаи электронӣ, $фан, $хабар, $сарлавҳаи);
?>

Дар хотир доред, ки дар, дар ин маврид, як URL (SRC) Садо танҳо бо шудаи аст,.

почтаи баҳисобгирӣ инъикос

script.php
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
<?PHP
  // Гирифтани шудаи почтаи дорем
  $шудаи = trim(strip_tags(addslashes($_REQUEST['Шудаи'])));
 
  // Пайваст ба хазинаи
  $пайванд = mysql_connect('Mysql.seuservidor.com', 'Реша', 'MyPassword *** ***') ё ба(Ба пайвастшавӣ ба базаи нашуд. ';); 
  mysql_select_db('seubancodedados') ё ба('Falhou ao selecionar o banco de dados');
 
  // Monta SQL ва навсозиҳои тамошои почтаи сана ва мубориза дар базаи маълумотҳо
  $sql = 'SELECT hash FROM maladireta WHERE hash="'.$шудаи.'"';
  $res = mysql_query($sql);
  агар (mysql_num_rows($res) > 0) {
    $sql = 'UPDATE maladireta SET datahora_visualizado="'.date('Y-m-d H:ман:s').'", contador=contador+1 WHERE hash="'.$шудаи.'"';
    mysql_query($sql);
  }
 
  // Cria e exibe a imagem embutida ao email
  сарлавҳаи("Content-type: image/png");
  $IMG = imagecreatefrompng("imagem.png");
  imagepng($IMG);
  imagedestroy($IMG);
?>

Ах, se você quiser consultar os e-mails que foram visualizados a partir de uma data, poderia fazer um script com uma SQL tipo essa que, ҳеҷ ваҷҳ, ҷустуҷӯ барои ҳама сабтҳои почтаи электронии охирин, ки аз 27 январ 2013. Ин нӯги аст…

1
2
3
4
5
6
7
8
 
  ИНТИХОБ * 
  АЗ
      `maladireta`
  КУҶО
      контадор > 0 ВА 
      Таърих(visualized_time) >= Таърих("2013-01-27")
;
Њамагї дастёбии: 34920

8 боздидҳои “PHP: Бидавед, симои боркунц скрипт дарунсохти дар паёми электронӣ

  1. Леандро Чавес гуфт::

    Taylor,
    Дар пайванди тасвир гузоштани почтаи электронии корбар таҷрибаи хубе нест. Дар беҳтарин аст, ки ба ворид кардани маълумот дар базаи маълумотҳо дар вақти фиристодани ва ба як ҷадвали шудаи ё Шиносаи пайванд, ба тавре ки барои муайян, ки ба почтаи электронӣ кушод.

    • Hi Леандро, шукр барои тавзеҳи. Ин debatable. Фикр кардан дар бораи амнияти иттилоотӣ шумо дуруст мегӯед, вале дар амал аз он мебуд, preciousness ҳуқуқ, зеро пайванд почтаи электронӣ (Садо) ки шумо дида муҳим барои муҳофизат хоҳад кард, танҳо дар паёмдони худ гиранда дастрас бошад,. Ин аст, ки ба пинҳон чизе аз ман, ки ман медонам,! Ғайр аз, Шумо бояд ба нигоҳ ба курсии худ мизи дигар бо ҳазорон баҳисобгирии пурраи почтаҳои кунед, бе ҳатто донистани агар мактубҳои дорои он эътибор доранд. Пас, агар шумо мехост, “enchugar” бонки шумо, , натавонистанд, Ьамчун масъалаи беайбии referential байни мизҳои, мебуд, талаб карда мешавад, баҳисобгирии, оид ба дарди ҳеҷ гоҳ донистани, ки почтаи электронӣ кушод. Лекин азбаски мо гап дар бораи амният, ба канорагирӣ доштани почтаи intercepted аз ҷониби ҳаёти Wireshark, чӣ кор кардан мумкин аст, ки ба истифода SSL (HTTPS) ҳам фиристодани почтаи электронӣ, чун пайванди тасвир. Аммо ба монанди пешниҳоди шумо, Ман чунин як ҳалли нашр, даст!

  2. Ола ,
    Ман дар ҷустуҷӯи ман ба даст IP шахсе, ки ба Қуръон хондан , Аммо, агар ба он ҳисоби Hotmail, барои мисол аст, ки ӯ Даҳгонаи як қатор IP бо домени дар ИМА. Кӯмаки ин рӯ бисьёр набуд . Чӣ тавр ба даст Ман IP воқеии мошини худ ?

  3. Regis гуфт::

    Бегона Баъзан он кор мекунад ва баъзан кор намекунад истифода Chrome, Opera д оташ Фокс нест Gmail д Hotmail – тоза кардани кэш ва кукиҳо, вале баъзан он сабти оид ба BD корро намедиҳад, агар ки почтаи кушода шудааст, ё не !!

  4. Диего гуфт::

    Galera..tenho як дастнависи Феҳристи бо nome..email…ба кӯмаку…rg…Ман мехостам, пас аз ҳамаи корбар қайд ва ирсол ба хазинаи ман …бозгаштан чизе почтаи ҷонибдори automatico..tipo dele
    НАМУНАИ:”маълумот бо муваффақият ба қайд ..” интизори тамос мо

    Ман мехоҳам??

  5. Шумо ба ҳар ҳол мебинем, ки Тейлор??

    Чунин ба назар мерасад, ки ягона сервер, ки ин imagem.php мекушояд Gmail аст,. Оё шумо ягон маслиҳатҳои барои ман ба он кор??

    • Opa, чунон ки Ман дар Post гуфт:: “Барои ин ба кор, гиранда ҳатман бояд танзим карда шавад, то ки почтаи электронии шумо аст, дар формати HTML хонда”. Ба таври пешфарз HTML тарҷума шудааст, балки ҳатто Gmail ҳаракат расонидани матн, он ҷо кор нахоҳад кард, зеро он танҳо барчаспҳои HTML ҳамчун матн намоиш медиҳад, ба ҷои онҳо расонидани.

Дин ва мазҳаб

Суроғаи почтаи электронии шумо нест, нашр карда. Майдонҳои талаб карда мешавад, бо ишора *