ಪಿಎಚ್ಪಿ: ಇಮೇಲ್ ಹುದುಗಿದೆ ರನ್ ಸ್ಕ್ರಿಪ್ಟ್ ಲೋಡ್ ಚಿತ್ರ

ಈ ಸಲಹೆ ನೀವು ಕಳುಹಿಸಿದ ಇಮೇಲ್ ಓದಲು ವೇಳೆ ತಿಳಿಯಲು ಬಯಸುತ್ತಾರೆ ಯಾರಾದರೂ ಉಪಯುಕ್ತ. ಈ ಸಂದರ್ಭದಲ್ಲಿ, ಇಮೇಲ್ ಸಂದೇಶವನ್ನು ದೇಹದಲ್ಲಿ ಚಿತ್ರವನ್ನು ಸೇರಿಸಲು, ತೆರೆದಾಗ, ದೂರಸ್ಥ ಪರಿಚಾರಕದಲ್ಲಿ ಒಂದು ಸ್ಕ್ರಿಪ್ಟ್ ಪ್ರಚೋದಿಸುತ್ತದೆ.

ಪ್ರಸ್ತುತಿ

ಈ ತಂತ್ರವನ್ನು ಇಮೇಲ್ ಮಾರ್ಕೆಟಿಂಗ್‌ನಲ್ಲಿ ವ್ಯಾಪಕವಾಗಿ ಬಳಸಲಾಗುತ್ತದೆ, ಆದ್ದರಿಂದ ಉದ್ದೇಶಿತ ಪ್ರೇಕ್ಷಕರನ್ನು ತಲುಪಲು ಕಳುಹಿಸುವವರು ನಿಮ್ಮ ನೇರ ಮೇಲ್ ಸ್ವೀಕರಿಸುವವರಿಗೆ ನೂರಾರು ಅಥವಾ ಸಾವಿರಾರು ಇಮೇಲ್‌ಗಳನ್ನು ಕಳುಹಿಸುತ್ತಾರೆ, ಮತ್ತು ಪ್ರತಿಕ್ರಿಯೆಯನ್ನು ತಿಳಿಯಲು ಬಯಸುತ್ತೇನೆ (ಹಿಂತಿರುಗಿ) ಅಭಿಯಾನದ, ಅಂದರೆ, ಸ್ವೀಕರಿಸುವವರು ಇಮೇಲ್ನಲ್ಲಿ ಹುದುಗಿರುವ ಜಾಹೀರಾತನ್ನು ಓದಿದ್ದಾರೋ ಇಲ್ಲವೋ.

ಅದು ಹೇಗೆ ಕಾರ್ಯನಿರ್ವಹಿಸುತ್ತದೆ?
ತಾರ್ಕಿಕತೆ ಸರಳವಾಗಿದೆ, ನೀವು ಅದನ್ನು ಇಮೇಲ್‌ನ ದೇಹದಲ್ಲಿ ಇರಿಸಿ (ವಿಷಯ) ಒಂದು HTML ಇಮೇಜ್ ಟ್ಯಾಗ್, ಎಸ್‌ಆರ್‌ಸಿ ಗುಣಲಕ್ಷಣ ಪಾಯಿಂಟಿಂಗ್‌ನೊಂದಿಗೆ, ಸಾಮಾನ್ಯವಾಗಿ ಮಾಡಿದಂತೆ ಚಿತ್ರಕ್ಕೆ ನೇರವಾಗಿ ಅಲ್ಲ, ಆದರೆ ದೂರಸ್ಥ ಸರ್ವರ್‌ನಲ್ಲಿ ಹೋಸ್ಟ್ ಮಾಡಿದ ಕಸ್ಟಮ್ ಸ್ಕ್ರಿಪ್ಟ್‌ಗಾಗಿ, ಅಲ್ಲಿ ನೀವು ಕೆಲವು ದಿನಚರಿಯನ್ನು ಮಾಡಬಹುದು ಮತ್ತು, ಅಲ್ಲಿ ಹೌದು, ಚಿತ್ರವನ್ನು ನಿರೂಪಿಸಿ (ಅಥವಾ). ಸಂಕೀರ್ಣವಾಗಿದೆ? ಅದು ಏನೂ ಇಲ್ಲ, ಉದಾಹರಣೆ ನೋಡಿ:

1
2
3
<?ಪಿಎಚ್ಪಿ
  <img src="http://seuservidor.com/script.php?email=pessoa@gmail.com&destinatario = ಟೇಲರ್ + ಲೋಪ್ಸ್" />
?>

ಅದು ಏನು?
ಬಳಕೆದಾರರು ಇಮೇಲ್ ತೆರೆದಾಗ ಗಮನಿಸಿ, ಆಪಾದಿತ ಚಿತ್ರವನ್ನು ಸ್ವಯಂಚಾಲಿತವಾಗಿ ಲೋಡ್ ಮಾಡಲಾಗುತ್ತದೆ, ಇದು ವಾಸ್ತವವಾಗಿ ಸ್ಕ್ರಿಪ್ಟ್ ಆಗಿದೆ. ವೀಕ್ಷಿಸಿದ ಇ-ಮೇಲ್‌ಗಳ ಅಂಕಿಅಂಶಗಳನ್ನು ತಯಾರಿಸಲು ಇದು ಉಪಯುಕ್ತವಾಗಿದೆ, WHO ತೆರೆಯುವುದನ್ನು ನಿರ್ಧರಿಸುವುದು ಸೇರಿದಂತೆ (ಸ್ವೀಕರಿಸುವವರು) ಮತ್ತು WHEN (ದಿನಾಂಕ / ಸಮಯ). ಸ್ಪಷ್ಟ, ಇದು ಯಾವುದೂ ಅಲ್ಲ “ಭವಿಷ್ಯಜ್ಞಾನ”, ಯಾರು ಇಮೇಲ್ ತೆರೆದರು ಎಂಬುದು ನಮಗೆ ತಿಳಿದಿದೆ, ಏಕೆಂದರೆ ನಾವು ಅದನ್ನು ಕಳುಹಿಸುವಾಗ ಈ ಡೇಟಾವನ್ನು ಇಮೇಜ್ URL ಗೆ ಲಿಂಕ್ ಮಾಡುತ್ತೇವೆ.

ಅನಾನುಕೂಲತೆ
ಇದು ಕೆಲಸ ಮಾಡಲು, ಸ್ವೀಕರಿಸುವವರು ಅದನ್ನು ಕಾನ್ಫಿಗರ್ ಮಾಡಿರಬೇಕು ಆದ್ದರಿಂದ ಅವರ ಇಮೇಲ್ ಅನ್ನು HTML ಸ್ವರೂಪದಲ್ಲಿ ಓದಲಾಗುತ್ತದೆ, ಆದಾಗ್ಯೂ ಇದು ಈಗಾಗಲೇ ಹೆಚ್ಚಿನ ಬಳಕೆದಾರರಿಂದ ಅಂಗೀಕರಿಸಲ್ಪಟ್ಟ ಮಾನದಂಡವಾಗಿದೆ. ಕೆಟ್ಟದಾಗಿ, ಇಮೇಲ್‌ಗಳನ್ನು ಒದಗಿಸುವವರು ಅದನ್ನು ನಿರ್ಬಂಧಿಸಿದ್ದಾರೆ ಎಂದು ಸಂದೇಶವನ್ನು ಪ್ರದರ್ಶಿಸುತ್ತಾರೆ, ಆದರೆ ಬಳಕೆದಾರರು ಪ್ರದರ್ಶಿಸಲು ಬಯಸುತ್ತೀರಾ ಎಂದು ಕೇಳುತ್ತಿದ್ದಾರೆ, ಇದನ್ನು ಸಾಮಾನ್ಯವಾಗಿ ಸ್ವೀಕರಿಸಲಾಗುತ್ತದೆ, ಈ ಅಭ್ಯಾಸದಲ್ಲಿ ಕೆಲವರು ದುರುದ್ದೇಶವನ್ನು ನೋಡುತ್ತಾರೆ. ಗೂಗಲ್ ವಿಷಯದಲ್ಲಿ, ಸಂದೇಶವು ಲಿಂಕ್ ಆಗಿ ಗೋಚರಿಸುತ್ತದೆ, ಆದ್ದರಿಂದ:

1
2
3
...
  ಚಿತ್ರಗಳನ್ನು ಪ್ರದರ್ಶಿಸಲಾಗಿಲ್ಲ - ಕೆಳಗಿನ ಚಿತ್ರಗಳನ್ನು ಪ್ರದರ್ಶಿಸಿ - ಯಾವಾಗಲೂ ಬೆಂಬಲ ಚಿತ್ರಗಳನ್ನು ಪ್ರದರ್ಶಿಸಿ@ಇಮೇಲ್.ಮೈಕ್ರೋಸಾಫ್ಟ್.ಜೊತೆ
...

ಇದನ್ನು ಮಾಡಲು ನಾನು ಎರಡು ವಿಧಾನಗಳ ಬಗ್ಗೆ ಕಾಮೆಂಟ್ ಮಾಡುತ್ತೇನೆ; ಎರಡೂ ಸಮಾನವಾಗಿ ಕಾರ್ಯನಿರ್ವಹಿಸುತ್ತವೆ, ಎರಡನೆಯದು ಹೆಚ್ಚು ವಿವೇಚನೆಯಿಂದ ಕೂಡಿರುತ್ತದೆ ಏಕೆಂದರೆ ಅದು URL ನಲ್ಲಿ ಡೇಟಾವನ್ನು ಪ್ರದರ್ಶಿಸುವುದಿಲ್ಲ, ಆದರೂ ಇದಕ್ಕೆ ಹೆಚ್ಚಿನ ಸಂಗ್ರಹ ಸಂಪನ್ಮೂಲಗಳು ಬೇಕಾಗುತ್ತವೆ. ಬನ್ನಿ!

ಪರಿಹಾರ 1

ಆಚರಣೆಯಲ್ಲಿ
ನಿಮಗೆ ಕೇವಲ ಎರಡು ಪಿಎಚ್ಪಿ ಕೋಡ್‌ಗಳು ಬೇಕಾಗುತ್ತವೆ:
(1) ಎಂಬೆಡೆಡ್ ಐಎಂಜಿ ಟ್ಯಾಗ್‌ನೊಂದಿಗೆ ಇಮೇಲ್ ಅನ್ನು HTML ಸ್ವರೂಪದಲ್ಲಿ ಕಳುಹಿಸುವುದು
(2) ಮತ್ತು ಇಮೇಲ್ ತೆರೆದ ಕ್ಷಣದಲ್ಲಿ ಮಾಹಿತಿಯನ್ನು ಸೆರೆಹಿಡಿಯಲು ಮತ್ತೊಂದು

STEP 1 – ಇಮೇಲ್ ಕಳುಹಿಸಿ

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
<?ಪಿಎಚ್ಪಿ
  // *** ನಿಮ್ಮ ಇಮೇಲ್ (ಕಳುಹಿಸುವವರ ಇಮೇಲ್)
  $ಕಳುಹಿಸುವವರ_ಹೆಸರು     = 'ಅನಾಮಧೇಯ';
  $ಕಳುಹಿಸುವವರ_ಮೇಲ್    = 'anonimo@email.com';
 
  // *** ನಿಮ್ಮ ಗುರಿ (ಕಳುಹಿಸುವವರಿಗೆ ಇಮೇಲ್ ಮಾಡಿ) 
  $destinatario_nome  = 'ಮಾರಿಯೋ ಬ್ರಾಸ್';
  $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 ಪ್ರಕಾರವಾಗಿದೆ ಎಂದು ಹೇಳುವ ಹೆಡರ್ (IMG ಟ್ಯಾಗ್ ಅನ್ನು ಓದಲು ಮತ್ತು ಸ್ಕ್ರಿಪ್ಟ್ ಅನ್ನು ಕಾರ್ಯಗತಗೊಳಿಸಲು)
  $ಹೆಡರ್       = "MIME-Version: 1.0\n"; 
  $ಹೆಡರ್      .= "Content-type: ಪಠ್ಯ / HTML; ಅಕ್ಷರಸೆಟ್ = ಐಸೊ -8859-1\n"; 
  $ಹೆಡರ್      .= "From: ".(ಖಾಲಿ($ಕಳುಹಿಸುವವರ_ಹೆಸರು) ? $ಕಳುಹಿಸುವವರ_ಮೇಲ್ : '"'.$ಕಳುಹಿಸುವವರ_ಹೆಸರು.'" <'.$ಕಳುಹಿಸುವವರ_ಮೇಲ್.'>')."\n";
 
  // ಇಮೇಲ್ ಕಳುಹಿಸಿ
  $ಇಮೇಲ್ = ಖಾಲಿ($destinatario_nome) ? $destinatario_email : '"'.$destinatario_nome.'" <'.$destinatario_email.'>';
  ಮೇಲ್($ಇಮೇಲ್, $ವಿಷಯ, $ಸಂದೇಶ, $ಹೆಡರ್);
?>

STEP 2 – ಮಾಹಿತಿಯನ್ನು ಸೆರೆಹಿಡಿಯಿರಿ

ಸರಿ, IMG TAG ಓದುವಾಗ ಫೈಲ್‌ಗೆ ಕರೆ ಮಾಡಲಾಗುವುದು ಎಂದು ನೀವು ಗಮನಿಸಿದ್ದೀರಾ “script.php”, ಕೆಲವು? ಆದ್ದರಿಂದ ಈಗ ನಾವು ಮಾಹಿತಿಯನ್ನು ತೆಗೆದುಕೊಂಡು ಅದನ್ನು ಸಂಗ್ರಹಿಸಲು ಅದನ್ನು ರಚಿಸಬೇಕು, ಡೇಟಾಬೇಸ್‌ನಲ್ಲಿ ಮೇಲಾಗಿ.

ಟೇಬಲ್ ರಚಿಸಲಾಗುತ್ತಿದೆ
ಇಮೇಲ್ ಅನ್ನು ತೆರೆದ ಸ್ವೀಕರಿಸುವವರ ಡೇಟಾವನ್ನು ನಾವು ಮುಂದುವರಿಸಬೇಕಾಗಿರುವುದರಿಂದ, ನಾವು ಕೆಳಗಿನ ಕೋಷ್ಟಕವನ್ನು ರಚಿಸಬಹುದು. ಕ್ಷೇತ್ರವನ್ನು ನೋಡಿ `ಡಾಟಾಹೋರಾ_ವಿಶುವಲಿಜಡೊ`, ಇದು ಬಳಕೆದಾರರು ಇಮೇಲ್ ಮತ್ತು ಕ್ಷೇತ್ರವನ್ನು ವೀಕ್ಷಿಸಿದ ಕೊನೆಯ ದಿನಾಂಕ ಮತ್ತು ಸಮಯವನ್ನು ಸೂಚಿಸುತ್ತದೆ `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
) ಎಂಜಿನ್ = MYISAM ;

Script para captar informações e exibir uma imagem
Finalizando, vamos pegar dados como e-mail do destinatário, nome do destinatário, assunto da mensagem e a data/hora de quem abriu o e-mail, armazenando tudo no banco de dados que criamos, para caso futuramente precisarmos fazer uma estatística. No final do script, vamos de fato criar e exibir uma imagem, ಅಸ್ತಿತ್ವವಾದದ ಬಿಕ್ಕಟ್ಟಿನೊಂದಿಗೆ IMG TAG ಪಡೆಯುವುದನ್ನು ತಪ್ಪಿಸಲು :), ಆದರೆ ನೀವು ಏನನ್ನೂ ಪ್ರದರ್ಶಿಸಲು ಬಯಸದಿದ್ದರೆ, ಕನಿಷ್ಠ ಒಂದು ಖಾಲಿ ಚಿತ್ರವನ್ನು ರಚಿಸಿ (1×1 ಪಿಕ್ಸೆಲ್) ಮುರಿದ ಟ್ಯಾಗ್ ಪಡೆಯಬಾರದು.

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
<?ಪಿಎಚ್ಪಿ
  // ಇನ್ಪುಟ್ ನಿಯತಾಂಕಗಳನ್ನು ಪ್ರಾರಂಭಿಸುತ್ತದೆ ಮತ್ತು ನಿರ್ವಹಿಸುತ್ತದೆ
  $destinatario_email = ಟ್ರಿಮ್ ಮಾಡಿ(ಸ್ಟ್ರಿಪ್_ಟ್ಯಾಗ್ಗಳು(ಆಡ್ಸ್‌ಲ್ಯಾಶ್‌ಗಳು($_REQUEST['ಇಮೇಲ್'])));
  $destinatario_nome  = ಟ್ರಿಮ್ ಮಾಡಿ(ಸ್ಟ್ರಿಪ್_ಟ್ಯಾಗ್ಗಳು(ಆಡ್ಸ್‌ಲ್ಯಾಶ್‌ಗಳು($_REQUEST['ಸ್ವೀಕರಿಸುವವರು'])));
  $ವಿಷಯ            = ಟ್ರಿಮ್ ಮಾಡಿ(ಸ್ಟ್ರಿಪ್_ಟ್ಯಾಗ್ಗಳು(ಆಡ್ಸ್‌ಲ್ಯಾಶ್‌ಗಳು($_REQUEST['ವಿಷಯ'])));       
 
  // ಡೇಟಾಬೇಸ್‌ಗೆ ಸಂಪರ್ಕಿಸುತ್ತದೆ (ನಿಮ್ಮ ಸಂಪರ್ಕವನ್ನು ಹೊಂದಿಸಿ)
  $ಲಿಂಕ್ = mysql_connect('mysql.seuservidor.com', 'ಬೇರು', '*** ನಿಮ್ಮ ಪಾಸ್‌ವರ್ಡ್ ***') ಅಥವಾ ದಿ('ಡೇಟಾಬೇಸ್‌ಗೆ ಸಂಪರ್ಕಿಸಲು ವಿಫಲವಾಗಿದೆ.'); 
  mysql_select_db('ನಿಮ್ಮ ಡೇಟಾಬೇಸ್') ಅಥವಾ ದಿ('ಡೇಟಾಬೇಸ್ ಆಯ್ಕೆ ಮಾಡಲು ವಿಫಲವಾಗಿದೆ');
 
  // SQL ಅನ್ನು ಆರೋಹಿಸುತ್ತದೆ ಮತ್ತು ಅದನ್ನು ಡೇಟಾಬೇಸ್‌ಗೆ ಸೇರಿಸುತ್ತದೆ, ಇಮೇಲ್ ಇನ್ನೂ ಅಸ್ತಿತ್ವದಲ್ಲಿಲ್ಲದಿದ್ದರೆ, ಅಥವಾ ಕೌಂಟರ್ ಅಸ್ತಿತ್ವದಲ್ಲಿದ್ದರೆ ಅದನ್ನು ನವೀಕರಿಸಿ
  $SQL = 'SELECT email FROM maladireta WHERE email="'.$destinatario_email.'"';
  $ರೆಸ್ = mysql_query($SQL);
  ವೇಳೆ (mysql_num_rows($ರೆಸ್) > 0) {
    $SQL = 'UPDATE maladireta SET datahora_visualizado="'.ದಿನಾಂಕ('ವೈ-ಎಂ-ಡಿ ಎಚ್:ನಾನು:ರು ').'", contador=contador+1 WHERE email="'.$destinatario_email.'"';    
  }
  ಬೇರೆ {
    $SQL = 'ಮಾಲಾಡಿರೆಟಾ ಮೌಲ್ಯಗಳಿಗೆ ಸೇರಿಸಿ (ಸೊನ್ನೆ, "'.$destinatario_email.'", "'.$destinatario_nome.'", "'.$ವಿಷಯ.'", "'.ದಿನಾಂಕ('ವೈ-ಎಂ-ಡಿ ಎಚ್:ನಾನು:ರು ').'", ಸೊನ್ನೆ, 0)';
  }
  mysql_query($SQL);
 
  // Cria e exibe a imagem embutida ao email
  ಹೆಡರ್("Content-type: image/png");
  $img = imagecreatefrompng("imagem.png");
  imagepng($img);
  imagedestroy($img);
?>

ಸೂಚನೆ: Não esqueça de colocar junto ao script uma imagem, ಯಾವುದೇ ಸಂದರ್ಭದಲ್ಲಿ, ನಾನು ಕರೆ ಮಾಡಿದೆ “imagem.png”. ಈ ಚಿತ್ರವು ಸ್ವೀಕರಿಸುವವರ ಇಮೇಲ್ ದೇಹದಲ್ಲಿ ಕಾಣಿಸುತ್ತದೆ, ಮತ್ತು ಅಲ್ಲಿಯೇ ಮಾರ್ಕೆಟಿಂಗ್ ಜನರು ಜಾಹೀರಾತನ್ನು ಹಾಕುತ್ತಾರೆ, ಆದರೆ ಅದು ಲೋಗೋ ಆಗಿರಬಹುದು ಅಥವಾ ನಿಮಗೆ ಬೇಕಾದುದನ್ನು ಮಾಡಬಹುದು. ಸ್ಕ್ರಿಪ್ಟ್ ಅನ್ನು ಪರೀಕ್ಷಿಸಲಾಗಿದೆ ಮತ್ತು ಕಾರ್ಯನಿರ್ವಹಿಸುತ್ತದೆ!

ಪರಿಹಾರ 2

ಮತ್ತೊಂದು ಸಾಧ್ಯತೆ
ಸೂಚಿಸಿದಂತೆ ಸಹೋದ್ಯೋಗಿ ಕೂದಲು ಲಿಯಾಂಡ್ರೊ, ಹೆಚ್ಚು ವಿವೇಚನಾಯುಕ್ತ ಮತ್ತು “ಸುರಕ್ಷಿತ” ಎಂದು, ಇಮೇಜ್ URL ನಲ್ಲಿ ಇಮೇಲ್ ನಂತಹ ಬಹಳಷ್ಟು ಡೇಟಾವನ್ನು ಸ್ಟ್ಯಾಂಪ್ ಮಾಡುವ ಬದಲು, ವಿಷಯ, ಇತ್ಯಾದಿ, ಈ ಡೇಟಾಗೆ ಲಿಂಕ್ ಮಾಡುವ ಇಮೇಲ್ ಕಳುಹಿಸುವ ಸಮಯದಲ್ಲಿ ಹ್ಯಾಶ್ ಅನ್ನು ರಚಿಸಿ, ಮತ್ತು URL ನಲ್ಲಿ ಹ್ಯಾಶ್ ಮಾತ್ರ ಕಳುಹಿಸಿ. ಸ್ವೀಕರಿಸುವವರು ಇಮೇಲ್ ತೆರೆಯುವಾಗ ಮತ್ತು ಚಿತ್ರವನ್ನು ಅಪ್‌ಲೋಡ್ ಮಾಡಿದಾಗ, ಟ್ರಾಫಿಕ್ ಹ್ಯಾಶ್ ಅನ್ನು ಮಾತ್ರ ನಮ್ಮ ಸ್ಕ್ರಿಪ್ಟ್‌ನಿಂದ ಸೆರೆಹಿಡಿಯಲಾಗುತ್ತದೆ ಮತ್ತು ನಾವು ತಿಳಿದುಕೊಳ್ಳಲು ಬಯಸುವ ಡೇಟಾಗೆ ಲಿಂಕ್ ಮಾಡಲಾಗುತ್ತದೆ.

ಹ್ಯಾಶ್ ಟೇಬಲ್ ಮತ್ತು ಡೇಟಾ ಲಿಂಕ್ ಅನ್ನು ರಚಿಸಲಾಗುತ್ತಿದೆ
ನಾವು ಇಮೇಲ್ ಕಳುಹಿಸುವಾಗಲೆಲ್ಲಾ ಜನಸಂಖ್ಯೆ ಇರುವ ಟೇಬಲ್ ಅನ್ನು ರಚಿಸೋಣ. ಕ್ಷೇತ್ರವನ್ನು ಗಮನಿಸಿ `ಹ್ಯಾಶ್`, ಅದು ಕಳುಹಿಸಿದ ಇಮೇಲ್‌ಗೆ ಮತ್ತು ಕೋಷ್ಟಕದಲ್ಲಿ ಸಂಗ್ರಹವಾಗಿರುವ ಸ್ವೀಕರಿಸುವವರ ಡೇಟಾಗೆ ಲಿಂಕ್ ಆಗಿ ಕಾರ್ಯನಿರ್ವಹಿಸುತ್ತದೆ.

maladireta.sql
1
2
3
4
5
6
7
8
9
10
CREATE TABLE  `maladireta` (
  `id` INT NOT NULL AUTO_INCREMENT PRIMARY KEY ,
  `ಹ್ಯಾಶ್`ವರ್ಚಾರ್( 50 ) ಇಲ್ಲ NULL,
  `email` VARCHAR( 100 ),
  `destinatario` VARCHAR( 100 ),
  `assunto` VARCHAR( 200 ),
  `datahora_envio` DATETIME NOT NULL,
  `datahora_visualizado` DATETIME,
  `contador` INT DEFAULT 0
) ಎಂಜಿನ್ = 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
<?ಪಿಎಚ್ಪಿ
  // *** ನಿಮ್ಮ ಇಮೇಲ್ (ಕಳುಹಿಸುವವರ ಇಮೇಲ್)
  $ಕಳುಹಿಸುವವರ_ಹೆಸರು     = 'ಅನಾಮಧೇಯ';
  $ಕಳುಹಿಸುವವರ_ಮೇಲ್    = 'anonimo@email.com';
 
  // *** ನಿಮ್ಮ ಗುರಿ (ಕಳುಹಿಸುವವರಿಗೆ ಇಮೇಲ್ ಮಾಡಿ) 
  $destinatario_nome  = 'ಮಾರಿಯೋ ಬ್ರಾಸ್';
  $destinatario_email = 'mariobross@email.com';
 
  // *** ಮುಂದುವರಿಯಲು ಮತ್ತು ಹ್ಯಾಶ್ ಮಾಡಲು ಇತರ ಡೇಟಾ (ಗುರುತಿಸುವಿಕೆ)
  $ಹ್ಯಾಶ್               = md5(ರಾಂಡ್());
  $ವಿಷಯ            = 'ಚಿತ್ರವನ್ನು ಲೋಡ್ ಮಾಡುವಾಗ ಸ್ಕ್ರಿಪ್ಟ್ ಮರಣದಂಡನೆಯನ್ನು ಪರೀಕ್ಷಿಸಲಾಗುತ್ತಿದೆ.';
  $ದಿನಾಂಕ_ ಸಮಯ     = ದಿನಾಂಕ('ವೈ-ಎಂ-ಡಿ ಎಚ್:ನಾನು:ರು ');
 
  // ಡೇಟಾಬೇಸ್‌ಗೆ ಸಂಪರ್ಕಿಸುತ್ತದೆ
  $ಲಿಂಕ್ = mysql_connect('mysql.seuservidor.com', 'ಬೇರು', '*** ನಿಮ್ಮ ಪಾಸ್‌ವರ್ಡ್ ***') ಅಥವಾ ದಿ('ಡೇಟಾಬೇಸ್‌ಗೆ ಸಂಪರ್ಕಿಸಲು ವಿಫಲವಾಗಿದೆ.'); 
  mysql_select_db('ನಿಮ್ಮ ಡೇಟಾಬೇಸ್') ಅಥವಾ ದಿ('ಡೇಟಾಬೇಸ್ ಆಯ್ಕೆ ಮಾಡಲು ವಿಫಲವಾಗಿದೆ');  
 
  // SQL ಅನ್ನು ಆರೋಹಿಸುತ್ತದೆ ಮತ್ತು ಅದನ್ನು ಡೇಟಾಬೇಸ್‌ಗೆ ಸೇರಿಸುತ್ತದೆ
  $SQL = 'ಮಾಲಾಡಿರೆಟಾ ಮೌಲ್ಯಗಳಿಗೆ ಸೇರಿಸಿ (ಸೊನ್ನೆ, "'.$ಹ್ಯಾಶ್.'", "'.$destinatario_email.'", "'.$destinatario_nome.'", "'.$ವಿಷಯ.'", "'.$ದಿನಾಂಕ_ ಸಮಯ.'", ಸೊನ್ನೆ, 0)';
  mysql_query($SQL);
 
  // *** ಕಳುಹಿಸಬೇಕಾದ ಸಂದೇಶ
  $ಸಂದೇಶ     = '
    <html lang="pt-br">
      <ತಲೆಯ>
        <meta charset="iso-8859-1" />    
        <ಶೀರ್ಷಿಕೆ>'.$ವಿಷಯ.'</ಶೀರ್ಷಿಕೆ>
      </ತಲೆಯ>
      <ದೇಹದ>
        <img src="http://seuservidor.com/script.php?ಹ್ಯಾಶ್ = '.$ಹ್ಯಾಶ್.'" />
      </ದೇಹದ>
    </ಎಚ್ಟಿಎಮ್ಎಲ್>';
 
  // ವಿಷಯವು HTML ಪ್ರಕಾರವಾಗಿದೆ ಎಂದು ಹೇಳುವ ಹೆಡರ್ (IMG ಟ್ಯಾಗ್ ಅನ್ನು ಓದಲು ಮತ್ತು ಸ್ಕ್ರಿಪ್ಟ್ ಅನ್ನು ಕಾರ್ಯಗತಗೊಳಿಸಲು)
  $ಹೆಡರ್       = "MIME-Version: 1.0\n"; 
  $ಹೆಡರ್      .= "Content-type: ಪಠ್ಯ / HTML; ಅಕ್ಷರಸೆಟ್ = ಐಸೊ -8859-1\n"; 
  $ಹೆಡರ್      .= "From: ".(ಖಾಲಿ($ಕಳುಹಿಸುವವರ_ಹೆಸರು) ? $ಕಳುಹಿಸುವವರ_ಮೇಲ್ : '"'.$ಕಳುಹಿಸುವವರ_ಹೆಸರು.'" <'.$ಕಳುಹಿಸುವವರ_ಮೇಲ್.'>')."\n";
 
  // ಇಮೇಲ್ ಕಳುಹಿಸಿ
  $ಇಮೇಲ್ = ಖಾಲಿ($destinatario_nome) ? $destinatario_email : '"'.$destinatario_nome.'" <'.$destinatario_email.'>';
  ಮೇಲ್($ಇಮೇಲ್, $ವಿಷಯ, $ಸಂದೇಶ, $ಹೆಡರ್);
?>

Perceba que, ಈ ವಿಷಯದಲ್ಲಿ, a URL (SRC) da imagem fica apenas com o HASH.

Contabilizando e-mail visualizado

script.php
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
<?ಪಿಎಚ್ಪಿ
  // Captura o HASH do e-mail visualizado
  $ಹ್ಯಾಶ್ = ಟ್ರಿಮ್ ಮಾಡಿ(ಸ್ಟ್ರಿಪ್_ಟ್ಯಾಗ್ಗಳು(ಆಡ್ಸ್‌ಲ್ಯಾಶ್‌ಗಳು($_REQUEST['hash'])));
 
  // ಡೇಟಾಬೇಸ್‌ಗೆ ಸಂಪರ್ಕಿಸುತ್ತದೆ
  $ಲಿಂಕ್ = mysql_connect('mysql.seuservidor.com', 'ಬೇರು', '*** ನಿಮ್ಮ ಪಾಸ್‌ವರ್ಡ್ ***') ಅಥವಾ ದಿ('ಡೇಟಾಬೇಸ್‌ಗೆ ಸಂಪರ್ಕಿಸಲು ವಿಫಲವಾಗಿದೆ.'); 
  mysql_select_db('ನಿಮ್ಮ ಡೇಟಾಬೇಸ್') ಅಥವಾ ದಿ('ಡೇಟಾಬೇಸ್ ಆಯ್ಕೆ ಮಾಡಲು ವಿಫಲವಾಗಿದೆ');
 
  // Monta a SQL e atualiza data de visualização do email e contador no banco de dados
  $SQL = 'SELECT hash FROM maladireta WHERE hash="'.$ಹ್ಯಾಶ್.'"';
  $ರೆಸ್ = mysql_query($SQL);
  ವೇಳೆ (mysql_num_rows($ರೆಸ್) > 0) {
    $SQL = 'UPDATE maladireta SET datahora_visualizado="'.ದಿನಾಂಕ('ವೈ-ಎಂ-ಡಿ ಎಚ್:ನಾನು:ರು ').'", 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);
?>

Ah, 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, ಯಾವುದೇ ಸಂದರ್ಭದಲ್ಲಿ, busca todos os registros recentes de e-mail vistos a partir de 27 ಜನವರಿ 2013. ಸಲಹೆ ಇಲ್ಲಿದೆ…

1
2
3
4
5
6
7
8
 
  ಆಯ್ಕೆ ಮಾಡಿ * 
  FROM
      `ಮಾಲಾಡಿರೆಟಾ`
  ಎಲ್ಲಿ
      ಕಾಂಟಡಾರ್ > 0 ಮತ್ತು 
      ದಿನಾಂಕ(ದೃಶ್ಯೀಕರಿಸಿದ_ ಸಮಯ) >= ದಿನಾಂಕ("2013-01-27")
;
ಹಿಟ್ ಒಟ್ಟು ಸಂಖ್ಯೆ: 34925

8 ವಿಮರ್ಶೆಗಳು “ಪಿಎಚ್ಪಿ: ಇಮೇಲ್ ಹುದುಗಿದೆ ರನ್ ಸ್ಕ್ರಿಪ್ಟ್ ಲೋಡ್ ಚಿತ್ರ

  1. ಲಿಯಾಂಡ್ರೊ ಚೇವ್ಸ್ ಹೇಳಿದರು:

    ಟೇಲರ್,
    ಇಮೇಜ್ ಲಿಂಕ್‌ನಲ್ಲಿ ಬಳಕೆದಾರರ ಇಮೇಲ್ ಅನ್ನು ಹಾಕುವುದು ಉತ್ತಮ ಅಭ್ಯಾಸವಲ್ಲ. ಕಳುಹಿಸುವ ಸಮಯದಲ್ಲಿ ಡೇಟಾವನ್ನು ಬ್ಯಾಂಕಿನಲ್ಲಿ ಸೇರಿಸುವುದು ಮತ್ತು ಹ್ಯಾಶ್ ಅಥವಾ ಟೇಬಲ್ ಐಡಿಯನ್ನು ಲಿಂಕ್‌ನಲ್ಲಿ ಇಡುವುದು ಸೂಕ್ತವಾಗಿದೆ, ಯಾರು ಇಮೇಲ್ ತೆರೆದರು ಎಂಬುದನ್ನು ಗುರುತಿಸಲು.

    • ಒಯಿ ಲಿಯಾಂಡ್ರೊ, ಕಾಮೆಂಟ್‌ಗೆ ಧನ್ಯವಾದಗಳು. ಇದು ಚರ್ಚಾಸ್ಪದವಾಗಿದೆ. ಮಾಹಿತಿ ಸುರಕ್ಷತೆಯ ಬಗ್ಗೆ ಯೋಚಿಸುವುದು ನೀವು ಹೇಳಿದ್ದು ಸರಿ, ಆದರೆ ಪ್ರಾಯೋಗಿಕವಾಗಿ ಇದು ಸ್ವಲ್ಪ ಅಮೂಲ್ಯವಾದುದು, ಏಕೆಂದರೆ ಇಮೇಲ್ ಲಿಂಕ್ (ಚಿತ್ರ) ರಕ್ಷಿಸಲು ಮುಖ್ಯವೆಂದು ನೀವು ಪರಿಗಣಿಸುವವರು ಸ್ವೀಕರಿಸುವವರ ಸ್ವಂತ ಇನ್‌ಬಾಕ್ಸ್‌ನಲ್ಲಿ ಮಾತ್ರ ಲಭ್ಯವಿರುತ್ತಾರೆ. ಇದು ನನಗೆ ಈಗಾಗಲೇ ತಿಳಿದಿರುವ ಯಾವುದನ್ನಾದರೂ ನನ್ನಿಂದ ಮರೆಮಾಚುವಂತಿದೆ! ಇದರ ಜೊತೆಗೆ, ನಿಮ್ಮ ನೇರ ಮೇಲ್ನಿಂದ ಸಾವಿರಾರು ದಾಖಲೆಗಳೊಂದಿಗೆ ನಿಮ್ಮ ಬ್ಯಾಂಕಿನಲ್ಲಿ ಮತ್ತೊಂದು ಟೇಬಲ್ ಅನ್ನು ನೀವು ಇರಿಸಬೇಕಾಗುತ್ತದೆ, ಅದರಲ್ಲಿರುವ ಇಮೇಲ್‌ಗಳು ಮಾನ್ಯವಾಗಿದೆಯೇ ಎಂದು ತಿಳಿಯದೆ. ನಂತರ ನೀವು ಬಯಸಿದರೆ “ಪ್ಲಗ್” ನಿಮ್ಮ ಬ್ಯಾಂಕ್, ಸಾಧ್ಯವಾಗಲಿಲ್ಲ, ಏಕೆಂದರೆ ಕೋಷ್ಟಕಗಳ ನಡುವಿನ ಉಲ್ಲೇಖದ ಸಮಗ್ರತೆಯ ಸಲುವಾಗಿ, ದಾಖಲೆಗಳನ್ನು ಇರಿಸಿಕೊಳ್ಳಲು ಅಗತ್ಯವಿದೆ, ಇಮೇಲ್ ಅನ್ನು ಯಾರು ತೆರೆದರು ಎಂದು ತಿಳಿಯದ ನೋವು. ಆದರೆ ನಾವು ಸುರಕ್ಷತೆಯ ಬಗ್ಗೆ ಮಾತನಾಡುತ್ತಿದ್ದೇವೆ, ಜೀವನದ ವೈರ್‌ಶಾರ್ಕ್‌ನಿಂದ ಇಮೇಲ್ ಅನ್ನು ತಡೆಯುವುದನ್ನು ತಪ್ಪಿಸಲು, ಎಸ್‌ಎಸ್‌ಎಲ್ ಬಳಸುವುದು ಏನು ಮಾಡಬಹುದು (HTTPS) ಇಮೇಲ್ ಕಳುಹಿಸುವಲ್ಲಿ ಎರಡೂ, ಚಿತ್ರ ಲಿಂಕ್‌ನಲ್ಲಿರುವಂತೆ. ಆದರೆ ನಿಮ್ಮ ಪ್ರಸ್ತಾಪ ನನಗೆ ಇಷ್ಟವಾಯಿತು, ನಾನು ಈ ರೀತಿಯ ಪರಿಹಾರವನ್ನು ಪ್ರಕಟಿಸುತ್ತೇನೆ, ಗಳಿಸಿದ!

  2. ಓಲಾ ,
    ಸಂದೇಶವನ್ನು ಓದಿದ ವ್ಯಕ್ತಿಯ ಐಪಿ ಪಡೆಯಲು ನಾನು ಪ್ರಯತ್ನಿಸುತ್ತೇನೆ , ಆದರೆ ನೀವು ಹಾಟ್‌ಮೇಲ್ ಗ್ರಾಹಕರಾಗಿದ್ದರೆ ಅವರು ಯುಎಸ್‌ಎಯಲ್ಲಿ ಡೊಮೇನ್ ಹೆಸರಿನೊಂದಿಗೆ ಐಪಿ ತೆಗೆದುಕೊಳ್ಳುತ್ತಾರೆ. ಆದ್ದರಿಂದ ಇದು ನನಗೆ ಹೆಚ್ಚು ಸಹಾಯ ಮಾಡುವುದಿಲ್ಲ . ಅವನ ಯಂತ್ರದ ನಿಜವಾದ ಐಪಿಯನ್ನು ನಾನು ಹೇಗೆ ಪಡೆಯುವುದು ?

  3. ರೆಗಿಸ್ ಹೇಳಿದರು:

    ವಿಚಿತ್ರ ಕೆಲವೊಮ್ಮೆ ಇದು ಕಾರ್ಯನಿರ್ವಹಿಸುತ್ತದೆ ಮತ್ತು ಕೆಲವೊಮ್ಮೆ ಇದು Chrome ಅನ್ನು ಬಳಸುವುದಿಲ್ಲ, ಒಪೇರಾ ಇ ಫೈರ್ ಫಾಕ್ಸ್ ಯಾವುದೇ ಜಿಮೇಲ್ ಇ ಹಾಟ್ಮೇಲ್ ಇಲ್ಲ – ಸಂಗ್ರಹ ಮತ್ತು ಕುಕೀಗಳನ್ನು ತೆರವುಗೊಳಿಸಿ, ಆದರೆ ಕೆಲವೊಮ್ಮೆ ಇಮೇಲ್ ತೆರೆದಿದ್ದರೆ ಅಥವಾ ಇಲ್ಲದಿದ್ದರೆ ಅದು ಡೇಟಾಬೇಸ್‌ಗೆ ಬರೆಯುವುದಿಲ್ಲ !!

  4. ಡಿಯಾಗೋ ಹೇಳಿದರು:

    ಗೈಸ್..ನನಗೆ ಹೆಸರು..ಇಮೇಲ್ನೊಂದಿಗೆ ನೋಂದಣಿ ಸ್ಕ್ರಿಪ್ಟ್ ಇದೆ…ಸಿಪಿಎಫ್…rg…ಬಳಕೆದಾರರು ಎಲ್ಲವನ್ನೂ ನೋಂದಾಯಿಸಿದ ನಂತರ ಮತ್ತು ಅದನ್ನು ನನ್ನ ಡೇಟಾಬೇಸ್‌ಗೆ ಕಳುಹಿಸಬೇಕೆಂದು ನಾನು ಬಯಸುತ್ತೇನೆ …ಏನನ್ನಾದರೂ ಸ್ವಯಂಚಾಲಿತವಾಗಿ ತನ್ನ ಇಮೇಲ್‌ಗೆ ಹಿಂದಿರುಗಿಸುತ್ತದೆ ...
    ಉದಾಹರಣೆ:”ಮಾಹಿತಿಯನ್ನು ಯಶಸ್ವಿಯಾಗಿ ನೋಂದಾಯಿಸಲಾಗಿದೆ ..” ನಮ್ಮ ಸಂಪರ್ಕಕ್ಕಾಗಿ ಕಾಯಿರಿ

    ಅದು ಇಷ್ಟವಾಗುತ್ತಿತ್ತು??

  5. ನೀವು ಇನ್ನೂ ಟೇಲರ್ ಅನ್ನು ನೋಡುತ್ತೀರಿ??

    ಈ image.php ಅನ್ನು ತೆರೆಯುವ ಏಕೈಕ ಸರ್ವರ್ gmail ಎಂದು ತೋರುತ್ತದೆ. ಈ ಕೆಲಸವನ್ನು ಮಾಡಲು ನೀವು ಯಾವುದೇ ಸಲಹೆಗಳನ್ನು ಹೊಂದಿದ್ದೀರಾ???

    • ಓಪಾ, ನಾನು ಪೋಸ್ಟ್ನಲ್ಲಿ ಹೇಳಿದಂತೆ: “ಇದು ಕೆಲಸ ಮಾಡಲು, ಸ್ವೀಕರಿಸುವವರು ಅದನ್ನು ಕಾನ್ಫಿಗರ್ ಮಾಡಿರಬೇಕು ಆದ್ದರಿಂದ ಅವರ ಇಮೇಲ್ ಅನ್ನು HTML ಸ್ವರೂಪದಲ್ಲಿ ಓದಲಾಗುತ್ತದೆ”. ಪೂರ್ವನಿಯೋಜಿತವಾಗಿ HTML ಅನ್ನು ಪ್ರದರ್ಶಿಸಲಾಗುತ್ತದೆ, ಆದರೆ Gmail ಸಹ ರೆಂಡರಿಂಗ್ ಅನ್ನು TEXT ಗೆ ಬದಲಾಯಿಸುತ್ತದೆ, ನಂತರ ಅದು ಕೆಲಸ ಮಾಡುವುದಿಲ್ಲ, ಏಕೆಂದರೆ ಅದು HTML TAG ಗಳನ್ನು ರೆಂಡರಿಂಗ್ ಮಾಡುವ ಬದಲು ಪಠ್ಯವಾಗಿ ಪ್ರದರ್ಶಿಸುತ್ತದೆ.

ಒಂದು ಉತ್ತರಿಸಿ ಬಿಡಿ

ನಿಮ್ಮ ಈಮೇಲ್ ವಿಳಾಸ ರ ಆಗುವುದಿಲ್ಲ. ಅಗತ್ಯವಿರುವ ಜಾಗ ಗುರುತಿಸಲಾಗಿದೆ *