Php mail html: Send HTML in email via PHP

Как ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡Π°Ρ‚ΡŒ PHP-Ρ„Π°ΠΉΠ»Ρ‹ ΠΈ Π·Π°Ρ‡Π΅ΠΌ это Π²ΠΎΠΎΠ±Ρ‰Π΅ Π½ΡƒΠΆΠ½ΠΎ | GeekBrains

РассказываСм ΠΎΠ± инструкциях для ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΡ PHP ΠΈ сравниваСм, ΠΊΠ°ΠΊ ΠΎΠ½ΠΈ Ρ€Π°Π±ΠΎΡ‚Π°ΡŽΡ‚

3 ΠΌΠΈΠ½ΡƒΡ‚Ρ‹

45418

Автор ΡΡ‚Π°Ρ‚ΡŒΠΈ

Анатолий ΠšΠΎΡΡ‚Ρ‹Ρ€Π΅Π½ΠΊΠΎ

Автор ΡΡ‚Π°Ρ‚ΡŒΠΈ

Анатолий ΠšΠΎΡΡ‚Ρ‹Ρ€Π΅Π½ΠΊΠΎ

https://gbcdn.mrgcdn.ru/uploads/post/2317/og_image/abcf60fe41cd67a165982ba9ff4c4aa5.png

ΠŸΡ€ΠΈΠ²Π΅Ρ‚ΡΡ‚Π²ΡƒΡŽ Ρ‡ΠΈΡ‚Π°Ρ‚Π΅Π»Π΅ΠΉ Π±Π»ΠΎΠ³Π°! Π£ вас навСрняка ΡƒΠΆΠ΅ Π΅ΡΡ‚ΡŒ нСбольшой ΠΎΠΏΡ‹Ρ‚ Π² ΠΊΠΎΠ΄ΠΈΠ½Π³Π΅ Π½Π° PHP. Π’ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ, Π²Ρ‹ ΡƒΠΆΠ΅ Ρ€Π°Π·ΠΎΠ±Ρ€Π°Π»ΠΈΡΡŒ с использованиСм ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Ρ… ΠΈ Π±Π°Π·ΠΎΠ²Ρ‹Ρ… конструкций этого языка, Π° Π·Π½Π°Ρ‡ΠΈΡ‚, Π»ΠΎΠ³ΠΈΠΊΠ° вашСго прилоТСния увСличиваСтся, ΠΊΠ°ΠΊ ΠΈ количСства ΠΊΠΎΠ΄Π°.

ΠšΠΎΠ½Π΅Ρ‡Π½ΠΎ, ΠΏΠΎΠΊΠ° вся ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ° ΡƒΠΌΠ΅Π½ΡŒΡˆΠ°Π΅Ρ‚ΡΡ Π² дСсяток строк, Ρ€Π°Π·Π±ΠΈΠ²Π°Ρ‚ΡŒ Π΅Ρ‘ Π½Π° части Π½Π΅ Π½ΡƒΠΆΠ½ΠΎ. Но Π²Ρ‹ ΡƒΠΆΠ΅ ΠΏΠΎΠ½ΠΈΠΌΠ°Π΅Ρ‚Π΅, Ρ‡Ρ‚ΠΎ Ρ‚Π°ΠΊ Π±ΡƒΠ΄Π΅Ρ‚ Π½Π΅ всСгда: авторизация, ΠΎΡ‚ΠΏΡ€Π°Π²ΠΊΠ° писСм, взаимодСйствия с Π±Π°Π·ΠΎΠΉ Π΄Π°Π½Π½Ρ‹Ρ… ΠΈ Ρ‚.Π΄. – всС это ΠΏΡ€ΠΈΠ²Π΅Π΄Π΅Ρ‚ ΠΊ ΡƒΠ²Π΅Π»ΠΈΡ‡Π΅Π½ΠΈΡŽ ΠΊΠΎΠ΄Π° прилоТСния.Β 

Π’Ρ‹ спроситС: «Ну ΠΈ Ρ‡Ρ‚ΠΎ с Ρ‚ΠΎΠ³ΠΎ? Π Π°Π·Π²Π΅ ΠΏΠ»ΠΎΡ…ΠΎ ΠΏΠΈΡΠ°Ρ‚ΡŒ всю Π»ΠΎΠ³ΠΈΠΊΡƒ Π² ΠΎΠ΄Π½ΠΎΠΌ Ρ„Π°ΠΉΠ»Π΅?Β».

Π‘Ρ‚ΠΎΠΏΡ€ΠΎΡ†Π΅Π½Ρ‚Π½ΠΎΠ³ΠΎ ΠΎΡ‚Π²Π΅Ρ‚Π° Π½Π° этот вопрос Π½Π΅Ρ‚, Π½ΠΎ ΠΌΠΎΠΉ ΠΎΠΏΡ‹Ρ‚ Π³ΠΎΠ²ΠΎΡ€ΠΈΡ‚, Ρ‡Ρ‚ΠΎ ΠΊΠΎΠ΄ прилоТСния, написанный Π² ΠΎΠ΄Π½ΠΎΠΌ Ρ„Π°ΠΉΠ»Π΅:Β 

  • ΠΏΡ€ΠΈ Π΄ΠΎΠΏΠΎΠ»Π½Π΅Π½ΠΈΠΈ ΠΈ внСсСнии Π½ΠΎΠ²ΠΎΠΉ Π»ΠΎΠ³ΠΈΠΊΠΈ ΠΏΡ€ΠΈΠ²ΠΎΠ΄ΠΈΡ‚ ΠΊ частым ошибкам
  • Ρ‚Ρ€Π΅Π±ΡƒΠ΅Ρ‚ большСго Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ для изучСния Π΄Ρ€ΡƒΠ³ΠΈΠΌ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠΎΠΌ
  • Ρ‡Π΅Ρ€Π΅Π· мСсяц-Π΄Π²Π° ΠΏΡ€ΠΈ нСобходимости малСнькой ΠΏΡ€Π°Π²ΠΊΠΈ ΠΏΠΎΡ‚Ρ€Π΅Π±ΡƒΠ΅Ρ‚ Ρƒ тСбя Π³ΠΎΡ€Π°Π·Π΄ΠΎ большС Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ Π½Π° ΠΏΠΎΠ½ΠΈΠΌΠ°Π½ΠΈΠ΅ ΠΊΠΎΠ΄Π°, Ρ‡Π΅ΠΌ Π½Π° саму ΠΏΡ€Π°Π²ΠΊΡƒ.

Если этих Π΄ΠΎΠ²ΠΎΠ΄ΠΎΠ² нСдостаточно – ΡΠΎΠ²Π΅Ρ‚ΡƒΡŽ ΠΏΠΎΡ‡ΠΈΡ‚Π°Ρ‚ΡŒ ΠΊΠ½ΠΈΠ³Ρƒ Π ΠΎΠ±Π΅Ρ€Ρ‚Π° ΠœΠ°Ρ€Ρ‚ΠΈΠ½Π° «Чистый ΠΊΠΎΠ΄Β». А ΠΏΠΎΠΊΠ° ΠΏΡ€ΠΎΠ΄ΠΎΠ»ΠΆΡƒ.

ΠŸΡ€Π΅Π΄ΡΡ‚Π°Π²ΠΈΠΌ, Ρ‡Ρ‚ΠΎ Ρƒ нас Π΅ΡΡ‚ΡŒ 2 Ρ„Π°ΠΉΠ»Π°: `index.php` ΠΈ `1.php`, Π»Π΅ΠΆΠ°Ρ‰ΠΈΡ… Π² ΠΎΠ΄Π½ΠΎΠΉ Π΄ΠΈΡ€Π΅ΠΊΡ‚ΠΎΡ€ΠΈΠΈ.

Π€Π°ΠΉΠ»Β  «index.php»:


<!doctype html>
<html lang="ru">
<head>
    <meta charset="UTF-8">
    <title>Document</title>
</head>
<body>
Β 
</body>
</html>

Π€Π°ΠΉΠ» «1.php»:


<h2>Hello World!</h2>

Π—Π°Π΄Π°Ρ‡Π°: вывСсти содСрТимоС Ρ„Π°ΠΉΠ»Π° «1. php» Π² ΠΊΠΎΠ½Ρ‚Π΅ΠΉΠ½Π΅Ρ€Π΅ `body`, ΠΏΡ€ΠΈ запускС Ρ„Π°ΠΉΠ»Π° «index.php». Π Π΅ΡˆΠΈΡ‚ΡŒ Π΅Ρ‘ ΠΌΠΎΠΆΠ½ΠΎ Ρ€Π°Π·Π½Ρ‹ΠΌΠΈ способами, ΠΈ Π² этом постС ΠΌΡ‹ рассмотрим Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΈΠ· Π½ΠΈΡ…. ΠŸΠΎΠ΄ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠ΅ PHP Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ Ρ€Π°Π·Π½Ρ‹Ρ… инструкций:

  • `include`
  • `include_once`
  • `require`
  • `require_once`

Π‘Π°ΠΌΡ‹ΠΉ простой ΠΏΡ€ΠΈΠΌΠ΅Ρ€ Ρ€Π΅ΡˆΠ΅Π½ΠΈΡ с `include`:


<!doctype html>
<html lang="ru">
<head>
    <meta charset="UTF-8">
    <title>Document</title>
</head>
<body>
    <?php
        include '1.php';
    ?>
</body>
</html>

Π Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚ запуска Π² Π±Ρ€Π°ΡƒΠ·Π΅Ρ€Π΅:

Как ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡ΠΈΡ‚ΡŒ PHP ΠΈΠ· Π΄Ρ€ΡƒΠ³ΠΎΠΉ Π΄ΠΈΡ€Π΅ΠΊΡ‚ΠΎΡ€ΠΈΠΈ

Π’Π΅ΠΏΠ΅Ρ€ΡŒ ΠΈΠ·ΠΌΠ΅Π½ΠΈΠΌ условия. ΠŸΠ΅Ρ€Π΅ΠΌΠ΅ΡΡ‚ΠΈΠΌ Ρ„Π°ΠΉΠ» `1.php` Π² ΠΏΠ°ΠΏΠΊΡƒ с Π½Π°Π·Π²Π°Π½ΠΈΠ΅ΠΌ `test`, ΠΊΠΎΡ‚ΠΎΡ€ΡƒΡŽ создадим Π² Π΄ΠΈΡ€Π΅ΠΊΡ‚ΠΎΡ€ΠΈΠΈ с Ρ„Π°ΠΉΠ»ΠΎΠΌ `index.php`.

ΠŸΠΎΡΠΊΠΎΠ»ΡŒΠΊΡƒ ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡Π°Π΅ΠΌΡ‹ΠΉ Ρ„Π°ΠΉΠ» находится Π² Π΄Ρ€ΡƒΠ³ΠΎΠΉ Π΄ΠΈΡ€Π΅ΠΊΡ‚ΠΎΡ€ΠΈΠΈ, для Π΅Π³ΠΎ ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΡ слСдуСт ΡƒΠΊΠ°Π·Π°Ρ‚ΡŒ сначала ΠΏΠ°ΠΏΠΊΡƒ, Π² ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΉ ΠΎΠ½ находится, Π° ΠΏΠΎΡ‚ΠΎΠΌ ΠΈ сам Ρ„Π°ΠΉΠ». Β 

Π”Π°Π»Π΅Π΅ ΠΈΠ·ΠΌΠ΅Π½ΠΈΠΌ ΠΊΠΎΠ΄ Π² `index.php`.


<?php
    include 'test/1.php';
?>

Π‘Ρ‚Ρ€ΠΎΠΊΠ°, Ρ‡Ρ‚ΠΎ ΠΌΡ‹ ΡƒΠΊΠ°Π·Ρ‹Π²Π°Π΅ΠΌ послС инструкции `include`, это ΠΏΡƒΡ‚ΡŒ ΠΊ Ρ„Π°ΠΉΠ»Ρƒ. Он ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ ΠΎΡ‚Π½ΠΎΡΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹ΠΉ (ΠΊ Ρ„Π°ΠΉΠ»Ρƒ, Π³Π΄Π΅ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠ΅) ΠΈ Π°Π±ΡΠΎΠ»ΡŽΡ‚Π½Ρ‹ΠΌ (ΠΎΡ‚ корня Ρ„Π°ΠΉΠ»ΠΎΠ²ΠΎΠΉ систСмы). Π’ прилоТСниях Ρ€Π΅ΠΊΠΎΠΌΠ΅Π½Π΄ΡƒΡŽΡ‚ΡΡ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ ΠΎΡ‚Π½ΠΎΡΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹Π΅ ΠΏΡƒΡ‚ΠΈ.

ΠœΠ΅ΠΆΠ΄Ρƒ ΠΏΠ°ΠΏΠΊΠ°ΠΌΠΈ, Ρ„Π°ΠΉΠ»Π°ΠΌΠΈ ΠΈ Π΄Ρ€ΡƒΠ³ΠΈΠΌΠΈ ΠΏΠ°ΠΏΠΊΠ°ΠΌΠΈ Π² ΠΏΡƒΡ‚ΠΈ ΡƒΡΡ‚Π°Π½Π°Π²Π»ΠΈΠ²Π°ΡŽΡ‚ΡΡ Ρ€Π°Π·Π΄Π΅Π»ΠΈΡ‚Π΅Π»ΠΈ. Π£Π½ΠΈΠ²Π΅Ρ€ΡΠ°Π»ΡŒΠ½Ρ‹ΠΉ Ρ€Π°Π·Π΄Π΅Π»ΠΈΡ‚Π΅Π»ΡŒ для Ρ€Π°Π·Π»ΠΈΡ‡Π½Ρ‹Ρ… ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΎΠ½Π½Ρ‹Ρ… систСм – `/`.Β 

Если Π² ΠΏΠ°ΠΏΠΊΠ΅ `test` Ρƒ нас Π±Ρ‹Π»Π° Π±Ρ‹ Π΅Ρ‰Π΅ ΠΏΠ°ΠΏΠΊΠ° `lot`, Π² ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΉ Π»Π΅ΠΆΠ°Π» Ρ„Π°ΠΉΠ» `1.php`, Ρ‚ΠΎ ΠΎΡ‚Π½ΠΎΡΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹ΠΉ ΠΏΡƒΡ‚ΡŒ выглядСл Π±Ρ‹ Ρ‚Π°ΠΊ: ‘test/lot/1.php’.

Π‘ путями Π½Π΅ΠΌΠ½ΠΎΠ³ΠΎ Ρ€Π°Π·ΠΎΠ±Ρ€Π°Π»ΠΈΡΡŒ – возвращаСмся ΠΊ инструкциям. ΠŸΡ€ΠΎΠΈΠ·Π²Π΅Π΄Π΅ΠΌ измСнСния Π² Ρ„Π°ΠΉΠ»Π°Ρ…. Π€Π°ΠΉΠ» «index.php»:


<!doctype html>
<html lang="ru">
<head>
    <meta charset="UTF-8">
    <title>Document</title>
</head>
<body>
    <?php
        $say = 'Hello world!';
        include 'test/1. php';
echo $test;
        echo "<p>End</p>";
    ?>
</body>
</html>

Π€Π°ΠΉΠ» `1.php`:


<?php
    echo "<h2>{$say}</h2>";
    $test = 'TEst connect';

ΠŸΠΎΡΠΌΠΎΡ‚Ρ€ΠΈΠΌ Π½Π° ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠ΅ Π² Π²Ρ‹Π²ΠΎΠ΄Π΅:

Как Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚ ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠ΅ ΠΊΠΎΠ΄Π° PHPΒ 

Π˜Π½Ρ‚Π΅Ρ€ΠΏΡ€Π΅Ρ‚Π°Ρ‚ΠΎΡ€ php Β«Ρ‡ΠΈΡ‚Π°Π΅Ρ‚Β» ΠΊΠΎΠ΄ свСрху Π²Π½ΠΈΠ· ΠΈ слСва Π½Π°ΠΏΡ€Π°Π²ΠΎ, ΠΊΠ°ΠΊ ΠΌΡ‹ Ρ‡ΠΈΡ‚Π°Π΅ΠΌ ΠΊΠ½ΠΈΠ³ΠΈ Π½Π° русском языкС. На исполнСниС ΠΎΡ‚ сСрвСра Π΅ΠΌΡƒ указываСтся Ρ„Π°ΠΉΠ» «index.php», Π° Π·Π½Π°Ρ‡ΠΈΡ‚, Ρ‡Ρ‚Π΅Π½ΠΈΠ΅ начинаСтся с Π½Π΅Π³ΠΎ. Дойдя Π΄ΠΎ строчки с `include ‘test/1.php’`, ΠΈΠ½Ρ‚Π΅Ρ€ΠΏΡ€Π΅Ρ‚Π°Ρ‚ΠΎΡ€ пытаСтся Π½Π°ΠΉΡ‚ΠΈ ΠΈ ΠΈΡΠΏΠΎΠ»Π½ΠΈΡ‚ΡŒ это Ρ„Π°ΠΉΠ» Ρ‚Π°ΠΊ, ΠΊΠ°ΠΊ Π±ΡƒΠ΄Ρ‚ΠΎ ΠΎΠ½ являСтся Ρ‡Π°ΡΡ‚ΡŒΡŽ «index.php».Β 

ΠŸΠ΅Ρ€Π΅Π΄ ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠ΅ΠΌ ΠΈ исполнСниСм Ρ„Π°ΠΉΠ»Π° «1.php» ΡƒΠΆΠ΅ сущСствуСт пСрСмСнная `$say`, Π² ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΉ содСрТится ‘Hello world!’. ΠŸΡ€ΠΈ Π²Ρ‹ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠΈ Ρ„Π°ΠΉΠ»Π° «1.php», содСрТимоС этой ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠΉ выводится Π½Π° экран ΠΈ создаСтся пСрСмСнная `$test`, которая Π² свою ΠΎΡ‡Π΅Ρ€Π΅Π΄ΡŒ ΠΈ выводится Π½Π° экран Π² Ρ„Π°ΠΉΠ»Π΅ `index.php`.

Если описанноС Π²Ρ‹ΡˆΠ΅ нСпонятно, ΡΠΎΠ²Π΅Ρ‚ΡƒΡŽ Π½Π΅ΠΌΠ½ΠΎΠ³ΠΎ ΠΏΠΎΠΈΠ³Ρ€Π°Ρ‚ΡŒΡΡ с Ρ„Π°ΠΉΠ»Π°ΠΌΠΈ `1. php` ΠΈ `index.php` создавая ΠΈ выводя Π² Π½ΠΈΡ… ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Π΅.

Различия `include`, `include_once`, `require`, `require_once`

ΠŸΠ΅Ρ€Π΅ΠΈΠΌΠ΅Π½ΡƒΠ΅ΠΌ Ρ„Π°ΠΉΠ» «1.php»Π² Ρ„Π°ΠΉΠ» «2.php» ΠΈ обратимся ΠΊ «index.php»:

Π’ ΠΈΡ‚ΠΎΠ³Π΅ ΠΏΠΎΠ»ΡƒΡ‡Π°Π΅ΠΌ ΠΎΡˆΠΈΠ±ΠΊΡƒ. Но ΠΎΠ±Ρ€Π°Ρ‚ΠΈΡ‚Π΅ Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅ Π½Π° Ρ‚ΠΎ, Ρ‡Ρ‚ΠΎ послС Π²Ρ‹Π²ΠΎΠ΄Π° ошибки ΠΊΠΎΠ΄ PHP всС Ρ€Π°Π²Π½ΠΎ ΠΏΡ€ΠΎΠ΄ΠΎΠ»ΠΆΠΈΠ» Π²Ρ‹ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ ΠΈ Π²Ρ‹Π²Π΅Π» `End`. Π—Π°ΠΌΠ΅Π½ΠΈΠΌ `include` Π½Π° `require` ΠΈ запустим Π½Π° Π²Ρ‹ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅.

Π’ ΠΈΡ‚ΠΎΠ³Π΅ Π²ΠΈΠ΄ΠΈΠΌ ΠΏΠΎΡ…ΠΎΠΆΠΈΠ΅ ошибки, Π½ΠΎ Π½Π΅ Π²ΠΈΠ΄ΠΈΠΌ Π²Ρ‹Π²ΠΎΠ΄Π° `End` Π² ΠΊΠΎΠ½Ρ†Π΅: послС ошибки ΠΊΠΎΠ΄ php ΠΏΡ€Π΅ΠΊΡ€Π°Ρ‚ΠΈΠ» свою Ρ€Π°Π±ΠΎΡ‚Ρƒ.

Π Π°Π·Π½ΠΈΡ†Π° ΠΌΠ΅ΠΆΠ΄Ρƒ `include` ΠΈ `require` Π·Π°ΠΊΠ»ΡŽΡ‡Π°Π΅Ρ‚ΡΡ Π² Ρ‚ΠΎΠΌ, Ρ‡Ρ‚ΠΎ ΠΏΡ€ΠΈ ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠΈ Ρ„Π°ΠΉΠ»Π° PHP пСрвая инструкция позволяСт ΠΏΡ€ΠΎΠ΄ΠΎΠ»ΠΆΠΈΡ‚ΡŒ выполнСния скрипта, Ссли Π½Π΅ Π½Π°ΠΉΠ΄Π΅Π½ Ρ„Π°ΠΉΠ», Π° `require` Π·Π°Π²Π΅Ρ€ΡˆΠ°Π΅Ρ‚ Π΅Π³ΠΎ, выводя Ρ„Π°Ρ‚Π°Π»ΡŒΠ½ΡƒΡŽ ΠΎΡˆΠΈΠ±ΠΊΡƒ.

Π’Π΅ΠΏΠ΅Ρ€ΡŒ рассмотрим ΠΎΡ‚Π»ΠΈΡ‡ΠΈΠ΅ инструкций `require` ΠΈ `require_once`. ВнСсСм нСбольшиС ΠΏΡ€Π°Π²ΠΊΠΈ Π² наши Ρ„Π°ΠΉΠ»Ρ‹. Π’ΠΎΡ‚ Π½ΠΎΠ²Ρ‹ΠΉ «index.php»:


<!doctype html>
<html lang="ru">
<head>
    <meta charset="UTF-8">
    <title>Document</title>
</head>
<body>
    <?php
        $say = 'Hello world!';
        require 'test/2. php';
        require 'test/2.php';
        require 'test/2.php';
        require 'test/2.php';
        echo "<p>End</p>";
    ?>
</body>
</html>

И Ρ„Π°ΠΉΠ» «2.php»:


<?php
    echo "<h2>{$say}</h2>";

ЗапускаСм:

Как Π²ΠΈΠ΄Π½ΠΎ Π½Π° ΡΠΊΡ€ΠΈΠ½ΡˆΠΎΡ‚Π΅, с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ `require` ΠΌΡ‹ ΡƒΡΠΏΠ΅ΡˆΠ½ΠΎ ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡ΠΈΠ»ΠΈ Ρ„Π°ΠΉΠ» нСсколько Ρ€Π°Π·. Π‘Π½ΠΎΠ²Π° внСсСм ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠ΅ Π² Ρ„Π°ΠΉΠ»Ρ‹. Новый Ρ„Π°ΠΉΠ» «index.php»:


<!doctype html>
<html lang="ru">
<head>
    <meta charset="UTF-8">
    <title>Document</title>
</head>
<body>
    <?php
        require 'test/2.php';
        require 'test/2.php';
        require 'test/2.php';
        require 'test/2.php';
        echo "<p>End</p>";
    ?>
</body>
</html>

И Π½ΠΎΠ²Ρ‹ΠΉ Ρ„Π°ΠΉΠ» «2.php» β€” Π½Π° этот Ρ€Π°Π· объявим Ρ‚Π°ΠΌ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΡŽ:


<?php
    echo '<p>Im included</p>';
    function sayHello($say)
    {
        echo "<h2>{$say}</h2>";
    }

Π Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚ выполнСния:

Π’Ρ‚ΠΎΡ€ΠΎΠ΅ ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠ΅ Ρ„Π°ΠΉΠ»Π° «2. php» ΠΏΡ€ΠΈΠ²ΠΎΠ΄ΠΈΡ‚ ΠΊ ошибкС, ΠΊΠ°ΠΊ Ρ€Π°Π· ΠΏΠΎΡ‚ΠΎΠΌΡƒ Ρ‡Ρ‚ΠΎ Π² этом Ρ„Π°ΠΉΠ»Π΅ происходит объявлСниС Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ. А Π² PHP-скриптС Π΄Π²ΡƒΡ… ΠΎΠ΄ΠΈΠ½Π°ΠΊΠΎΠ²Ρ‹Ρ… Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΉ Π±Ρ‹Ρ‚ΡŒ Π½Π΅ Π΄ΠΎΠ»ΠΆΠ½ΠΎ.

Π’Π΅ΠΏΠ΅Ρ€ΡŒ Π·Π°ΠΌΠ΅Π½ΠΈΠΌ всС `require` Π½Π° `require_once` ΠΈ запустим снова:

Π£Ρ€Π°, Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚! Но ΠΎΠ±Ρ€Π°Ρ‚ΠΈΠΌ Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅ Π½Π° Ρ‚ΠΎ, Ρ‡Ρ‚ΠΎ Ρ„Π°ΠΉΠ» ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡ΠΈΠ»ΡΡ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ ΠΎΠ΄ΠΈΠ½ Ρ€Π°Π·.

Π’Π΅ΠΏΠ΅Ρ€ΡŒ вновь ΠΏΠ΅Ρ€Π΅ΠΈΠΌΠ΅Π½ΡƒΠ΅ΠΌ Ρ„Π°ΠΉΠ» `2.php` Π² `1.php` ΠΈ запустим «index.php».

`Require_once`, Ρ‚Π°ΠΊ ΠΆΠ΅ ΠΊΠ°ΠΊ ΠΈ `require` Π·Π°Π²Π΅Ρ€ΡˆΠ°Π΅Ρ‚ Π²Ρ‹ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ скрипта, Ссли Π½Π΅ Π½Π°ΠΉΠ΄Π΅Π½ Ρ„Π°ΠΉΠ» ΡƒΠΊΠ°Π·Π°Π½Π½Ρ‹ΠΉ для ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΡ. Π—Π°ΠΌΠ΅Π½ΠΈΠΌ `require_once` Π½Π° `include_once`:

Ошибок стало большС, Π½ΠΎ ΠΊΠΎΠ΄ ΠΏΠΎ-ΠΏΡ€Π΅ΠΆΠ½Π΅ΠΌΡƒ ΠΎΡ‚Ρ€Π°Π±ΠΎΡ‚Π°Π» Π΄ΠΎ ΠΊΠΎΠ½Ρ†Π°: end Π² ΠΊΠΎΠ½Ρ†Π΅ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠΈ это ΠΏΠΎΠ΄Ρ‚Π²Π΅Ρ€ΠΆΠ΄Π°Π΅Ρ‚. ВнСсСм ΠΏΡ€Π°Π²ΠΊΠΈ Π² «index.php»:


<!doctype html>
<html lang="ru">
<head>
    <meta charset="UTF-8">
    <title>Document</title>
</head>
<body>
    <?php
        include_once 'test/1.php';
        include_once 'test/1.php';
        include_once 'test/1. php';
        include_once 'test/1.php';
        echo "<p>End</p>";
    ?>
</body>
</html>

Запустим ΠΊΠΎΠ΄:

ΠŸΠΎΠ΄Π²Π΅Π΄Ρ‘ΠΌ ΠΈΡ‚ΠΎΠ³ΠΈ

Π§Ρ‚ΠΎΠ±Ρ‹ ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡ΠΈΡ‚ΡŒ PHP-Ρ„Π°ΠΉΠ»Ρ‹, ΠΌΠΎΠΆΠ½ΠΎ Π²ΠΎΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒΡΡ Ρ‡Π΅Ρ‚Ρ‹Ρ€ΡŒΠΌΡ ΠΏΠΎΡ…ΠΎΠΆΠΈΠΌΠΈ инструкциями β€” `include` ΠΈ `include_once`, `require` ΠΈ `require_once`.

  • Π Π°Π·Π½ΠΈΡ†Π° ΠΌΠ΅ΠΆΠ΄Ρƒ `include` ΠΈ `require`: ΠΏΡ€ΠΈ отсутствии Ρ„Π°ΠΉΠ»Π° послСдняя Π²Ρ‹Π²ΠΎΠ΄ΠΈΡ‚ Ρ„Π°Ρ‚Π°Π»ΡŒΠ½ΡƒΡŽ ΠΎΡˆΠΈΠ±ΠΊΡƒ, Π° пСрвая β€” Π½Π΅Ρ‚.
  • Π Π°Π·Π½ΠΈΡ†Π° ΠΌΠ΅ΠΆΠ΄Ρƒ `include` ΠΈ `include_once` (Π° Ρ‚Π°ΠΊΠΆΠ΅ `require` ΠΈ `require_once` соотвСтствСнно): инструкции с β€œonce” ΠΏΡ€ΠΎΠ²Π΅Ρ€ΡΡŽΡ‚ ΠΏΠ΅Ρ€Π΅Π΄ ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠ΅ΠΌ, Π±Ρ‹Π» Π»ΠΈ этот Ρ„Π°ΠΉΠ» ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡Π΅Π½ Ρ€Π°Π½Π΅Π΅. Если ΠΎΠ½ ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡Π°Π»ΡΡ, ΠΏΠΎΠ²Ρ‚ΠΎΡ€Π½ΠΎΠ³ΠΎ ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΡ Π½Π΅ ΠΏΡ€ΠΎΠΈΠ·ΠΎΠΉΠ΄Π΅Ρ‚.Β 
  • Π Π°Π·Π½ΠΈΡ†Π° ΠΌΠ΅ΠΆΠ΄Ρƒ `require_once` ΠΈ `include_once`: Π΄ΡƒΠΌΠ°ΡŽ, ΠΎΠ½Π° понятна ΠΈΠ· Π΄Π²ΡƒΡ… ΠΏΡ€Π΅Π΄Ρ‹Π΄ΡƒΡ‰ΠΈΡ… ΠΏΡƒΠ½ΠΊΡ‚ΠΎΠ² πŸ™‚

Если Π²Ρ‹ Ρ…ΠΎΡ‚ΠΈΡ‚Π΅ ΠΎΡΠ²ΠΎΠΈΡ‚ΡŒ PHP Π²ΠΎ всСй Π΅Π³ΠΎ ΠΏΠΎΠ»Π½ΠΎΡ‚Π΅ β€” ΠΏΡ€ΠΈΠ³Π»Π°ΡˆΠ°Π΅ΠΌ вас Π½Π° курсы PHP-Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ Π² GeekBrains. Π—Π° ΡˆΠ΅ΡΡ‚ΡŒ мСсяцСв Π²Ρ‹ ΠΈΠ·ΡƒΡ‡ΠΈΡ‚Π΅ Π½Π΅ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Ρ€Π°Π±ΠΎΡ‚Ρƒ с PHP, Π½ΠΎ ΠΈ Π΄Ρ€ΡƒΠ³ΠΈΠ΅ Π²Π°ΠΆΠ½Ρ‹Π΅ Π² профСссии Ρ‚Π΅Ρ…Π½ΠΎΠ»ΠΎΠ³ΠΈΠΈ β€”Β Ρ„Ρ€Π΅ΠΉΠΌΠ²ΠΎΡ€ΠΊ Laravel, Π±Π°Π·Ρ‹ Π΄Π°Π½Π½Ρ‹Ρ… MS SQL ΠΈ Postgre SQL, основы HTML/CSS ΠΈ ООП. А Ρ‚Π°ΠΊΠΆΠ΅ смоТСтС ΠΏΡ€ΠΎΠΉΡ‚ΠΈ ΠΏΠΎΠ»Π½ΠΎΡ†Π΅Π½Π½ΡƒΡŽ ΠΎΠ½Π»Π°ΠΉΠ½-стаТировку!

ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅,Β php_developer

Нашли ΠΎΡˆΠΈΠ±ΠΊΡƒ Π² тСкстС? ΠΠ°ΠΏΠΈΡˆΠΈΡ‚Π΅ Π½Π°ΠΌ.

10 ΠΊΠ»ΠΈΠ΅Π½Ρ‚ΠΎΠ² Π²Π΅Π±-ΠΏΠΎΡ‡Ρ‚Ρ‹ Π½Π° основС AJAX ΠΈ PHP для ΡƒΠ΄ΠΎΠ±Π½ΠΎΠ³ΠΎ взаимодСйствия с ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Π΅ΠΌ

Π˜Π΄Π΅Π½Ρ‚ΠΈΡ„ΠΈΠΊΠ°Ρ‚ΠΎΡ€ сообщСния

Π‘ΠΎΡ‚Ρ€ΡƒΠ΄Π½ΠΈΠΊΠ°ΠΌ Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌ доступ ΠΊ элСктронной ΠΏΠΎΡ‡Ρ‚Π΅, Π³Π΄Π΅ Π±Ρ‹ ΠΎΠ½ΠΈ Π½ΠΈ Π½Π°Ρ…ΠΎΠ΄ΠΈΠ»ΠΈΡΡŒ β€” Π² Π΄ΠΎΡ€ΠΎΠ³Π΅, Π½Π° ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π°Ρ… ΠΊΠ»ΠΈΠ΅Π½Ρ‚ΠΎΠ², Π² ΡƒΠ΄Π°Π»Π΅Π½Π½Ρ‹Ρ… офисах ΠΈ Π΄ΠΎΠΌΠ°. ΠšΠ»ΠΈΠ΅Π½Ρ‚Ρ‹ WebMail ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡŽΡ‚ ΠΏΠΎΠ»ΡƒΡ‡Π°Ρ‚ΡŒ ΠΈ ΠΎΡ‚ΠΏΡ€Π°Π²Π»ΡΡ‚ΡŒ сообщСния элСктронной ΠΏΠΎΡ‡Ρ‚Ρ‹ ΠΏΠΎ ΠΏΡ€ΠΎΡ‚ΠΎΠΊΠΎΠ»Π°ΠΌ POP3 ΠΈ SMTP ΠΊΠ°ΠΊ Ρ‡Π΅Ρ€Π΅Π· Π»ΠΎΠΊΠ°Π»ΡŒΠ½Ρ‹Π΅, Ρ‚Π°ΠΊ ΠΈ Ρ‡Π΅Ρ€Π΅Π· ΡƒΠ΄Π°Π»Π΅Π½Π½Ρ‹Π΅ ΠΏΠΎΡ‡Ρ‚ΠΎΠ²Ρ‹Π΅ сСрвСры. ΠžΠ±Π΅ΡΠΏΠ΅Ρ‡Π΅Π½ΠΈΠ΅ бСзопасной Ρ„ΠΈΠ»ΡŒΡ‚Ρ€Π°Ρ†ΠΈΠΈ нСбСзопасного ΠΊΠΎΠ½Ρ‚Π΅Π½Ρ‚Π° ΠΏΡ€ΠΈ просмотрС сообщСний элСктронной ΠΏΠΎΡ‡Ρ‚Ρ‹ Π² Ρ„ΠΎΡ€ΠΌΠ°Ρ‚Π΅ HTML. ΠšΠ»ΠΈΠ΅Π½Ρ‚Ρ‹ WebMail ΠΌΠΎΠ³ΡƒΡ‚ Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ Π½Π° Ρ€Π°Π·Π»ΠΈΡ‡Π½Ρ‹Ρ… популярных Π²Π΅Π±-ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΠ°Ρ… (PHP, ASP.NET, ruby ​​on rails, java).

БСгодня я Ρ…ΠΎΡ‚Π΅Π» ΠΏΠΎΠ΄Π΅Π»ΠΈΡ‚ΡŒΡΡ с Π²Π°ΠΌΠΈ 10 ΠΊΠ»ΠΈΠ΅Π½Ρ‚Π°ΠΌΠΈ Π²Π΅Π±-ΠΏΠΎΡ‡Ρ‚Ρ‹ Π½Π° основС AJAX ΠΈ PHP, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΎΠ±Π΅ΡΠΏΠ΅Ρ‡ΠΈΠ²Π°ΡŽΡ‚ внСшний Π²ΠΈΠ΄, удобство использования ΠΈ ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΡŒ Π½Π°ΡΡ‚ΠΎΠ»ΡŒΠ½ΠΎΠ³ΠΎ прилоТСния. НСкоторыС ΠΈΠ· пСрСчислСнных Π½ΠΈΠΆΠ΅ ΠΊΠ»ΠΈΠ΅Π½Ρ‚ΠΎΠ² Π²Π΅Π±-ΠΏΠΎΡ‡Ρ‚Ρ‹ ΠΈΠΌΠ΅ΡŽΡ‚ ΠΎΡ‚ΠΊΡ€Ρ‹Ρ‚Ρ‹ΠΉ исходный ΠΊΠΎΠ΄, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ ΠΌΠΎΠΆΠ½ΠΎ Π»Π΅Π³ΠΊΠΎ ΠΈΠ·ΠΌΠ΅Π½ΠΈΡ‚ΡŒ Π² соотвСтствии с потрСбностями ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Ρ, Π° Π΄Ρ€ΡƒΠ³ΠΈΠ΅ Π½Π΅Ρ‚. Π˜Ρ‚Π°ΠΊ, Π’Ρ‹

Π΄ΠΎΠ»ΠΆΠ½Ρ‹ ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΈΡ‚ΡŒ свою Π»ΠΈΡ†Π΅Π½Π·ΠΈΡŽ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ Π·Π½Π°Ρ‚ΡŒ ΠΏΡ€Π°Π²ΠΈΠ»Π°.

Pro Tip

ЗарСгистрируйтС Π±Π΅ΡΠΏΠ»Π°Ρ‚Π½ΡƒΡŽ ΡƒΡ‡Π΅Ρ‚Π½ΡƒΡŽ запись Jotform , Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΡΠΎΠ·Π΄Π°Π²Π°Ρ‚ΡŒ ΠΌΠΎΡ‰Π½Ρ‹Π΅ ΠΎΠ½Π»Π°ΠΉΠ½-Ρ„ΠΎΡ€ΠΌΡ‹ Π·Π° считанныС ΠΌΠΈΠ½ΡƒΡ‚Ρ‹ β€” Π±Π΅Π· нСобходимости кодирования.


RoundCube Webmail β€” это многоязычный ΠΊΠ»ΠΈΠ΅Π½Ρ‚ IMAP Π½Π° основС Π±Ρ€Π°ΡƒΠ·Π΅Ρ€Π° с ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΡΠΊΠΈΠΌ интСрфСйсом, ΠΏΠΎΠ΄ΠΎΠ±Π½Ρ‹ΠΌ ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡŽ. Он обСспСчиваСт ΠΏΠΎΠ»Π½ΡƒΡŽ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΎΠ½Π°Π»ΡŒΠ½ΠΎΡΡ‚ΡŒ, ΠΊΠΎΡ‚ΠΎΡ€ΡƒΡŽ Π²Ρ‹ ΠΎΠΆΠΈΠ΄Π°Π΅Ρ‚Π΅ ΠΎΡ‚ ΠΊΠ»ΠΈΠ΅Π½Ρ‚Π° элСктронной ΠΏΠΎΡ‡Ρ‚Ρ‹, Π²ΠΊΠ»ΡŽΡ‡Π°Ρ ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΡƒ MIME, Π°Π΄Ρ€Π΅ΡΠ½ΡƒΡŽ ΠΊΠ½ΠΈΠ³Ρƒ, Ρ€Π°Π±ΠΎΡ‚Ρƒ с ΠΏΠ°ΠΏΠΊΠ°ΠΌΠΈ, поиск сообщСний ΠΈ ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΊΡƒ ΠΎΡ€Ρ„ΠΎΠ³Ρ€Π°Ρ„ΠΈΠΈ. Π’Π΅Π±-ΠΏΠΎΡ‡Ρ‚Π° RoundCube написана Π½Π° PHP ΠΈ Ρ‚Ρ€Π΅Π±ΡƒΠ΅Ρ‚ Π±Π°Π·Ρ‹ Π΄Π°Π½Π½Ρ‹Ρ… MySQL ΠΈΠ»ΠΈ Postgres. ΠŸΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΡΠΊΠΈΠΉ интСрфСйс ΠΏΠΎΠ»Π½ΠΎΡΡ‚ΡŒΡŽ настраиваСтся с использованиСм XHTML ΠΈ CSS 2.

Zimbra прСдоставляСт ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½ΠΎΠ΅ обСспСчСниС для Ρ€Π°Π±ΠΎΡ‚Ρ‹ с элСктронной ΠΏΠΎΡ‡Ρ‚ΠΎΠΉ ΠΈ ΠΊΠ°Π»Π΅Π½Π΄Π°Ρ€Π΅ΠΌ с ΠΎΡ‚ΠΊΡ€Ρ‹Ρ‚Ρ‹ΠΌ исходным ΠΊΠΎΠ΄ΠΎΠΌ, Π° Ρ‚Π°ΠΊΠΆΠ΅ ΠΊΠ»ΠΈΠ΅Π½Ρ‚ AJAX Π½Π° основС Π±Ρ€Π°ΡƒΠ·Π΅Ρ€Π° для обСспСчСния Π±ΠΎΠ³Π°Ρ‚ΠΎΠ³ΠΎ ΠΎΠΏΡ‹Ρ‚Π° с прСдставлСниСм сообщСний ΠΈ Π²ΠΈΠ·ΡƒΠ°Π»ΡŒΠ½Ρ‹ΠΌ поиском, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ Π΄Π΅Π»Π°Π΅Ρ‚ нСсколько Π³ΠΈΠ³Π°Π±Π°ΠΉΡ‚ ΠΏΠΎΡ‡Ρ‚ΠΎΠ²Ρ‹Π΅ ящики ΠΏΡ€ΠΎΡ‰Π΅ Π² использовании. Они Ρ‚Π°ΠΊΠΆΠ΅ ΠΈΠ½Ρ‚Π΅Π³Ρ€ΠΈΡ€ΡƒΡŽΡ‚ сторонниС прилоТСния Π² Π²ΠΈΠ΄Π΅ «мэшапов» Ρ‡Π΅Ρ€Π΅Π· Π²Π΅Π±-слуТбы, Ρ‡Ρ‚ΠΎΠ±Ρ‹ Π²Ρ‹ ΠΌΠΎΠ³Π»ΠΈ ΠΏΡ€ΠΎΡΠΌΠ°Ρ‚Ρ€ΠΈΠ²Π°Ρ‚ΡŒ Π΄Π°Π½Π½Ρ‹Π΅ CRM, ΠΊΠ°Ρ€Ρ‚Ρ‹ ΠΈΠ»ΠΈ Ρ‡Ρ‚ΠΎ-Π»ΠΈΠ±ΠΎ Π΅Ρ‰Π΅, Π½Π΅ выходя ΠΈΠ· контСкста сообщСния.

3. Xuheki

Xuheki β€” это быстрый IMAP-ΠΊΠ»ΠΈΠ΅Π½Ρ‚ с AJAX-ΠΊΠ»ΠΈΠ΅Π½Ρ‚ΠΎΠΌ Π½Π° основС Π±Ρ€Π°ΡƒΠ·Π΅Ρ€Π°, поэтому Π²Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ ΠΊ Π½Π΅ΠΌΡƒ доступ ΠΈΠ· любого мСста для чтСния элСктронной ΠΏΠΎΡ‡Ρ‚Ρ‹. Он ΠΈΠΌΠ΅Π΅Ρ‚ Π±ΠΎΠ»ΡŒΡˆΠΈΠ½ΡΡ‚Π²ΠΎ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΉ, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π²Ρ‹ ΠΎΠΆΠΈΠ΄Π°Π΅Ρ‚Π΅ ΠΎΡ‚ прСкрасного Β«ΠŸΠΎΡ‡Ρ‚ΠΎΠ²ΠΎΠ³ΠΎ Π°Π³Π΅Π½Ρ‚Π° ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡΒ». Xuheki распространяСтся Π½Π° условиях Π‘Ρ‚Π°Π½Π΄Π°Ρ€Ρ‚Π½ΠΎΠΉ общСствСнной Π»ΠΈΡ†Π΅Π½Π·ΠΈΠΈ GNU.

SquirrelMail β€” это основанный Π½Π° стандартах ΠΏΠ°ΠΊΠ΅Ρ‚ Π²Π΅Π±-ΠΏΠΎΡ‡Ρ‚Ρ‹, написанный Π½Π° PHP. Он Π²ΠΊΠ»ΡŽΡ‡Π°Π΅Ρ‚ Π²ΡΡ‚Ρ€ΠΎΠ΅Π½Π½ΡƒΡŽ Ρ‡ΠΈΡΡ‚ΡƒΡŽ ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΡƒ PHP для ΠΏΡ€ΠΎΡ‚ΠΎΠΊΠΎΠ»ΠΎΠ² IMAP ΠΈ SMTP, Π° всС страницы ΠΎΡ‚ΠΎΠ±Ρ€Π°ΠΆΠ°ΡŽΡ‚ΡΡ Π² чистом HTML 4.0 (Π±Π΅Π· нСобходимости JavaScript) для максимальной совмСстимости ΠΌΠ΅ΠΆΠ΄Ρƒ Π±Ρ€Π°ΡƒΠ·Π΅Ρ€Π°ΠΌΠΈ.

AtMail, бСсплатноС ΠΎΠ±Π»Π΅Π³Ρ‡Π΅Π½Π½ΠΎΠ΅ клиСнтскоС ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½ΠΎΠ΅ обСспСчСниС Ajax Webmail, написанноС Π½Π° PHP, ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡŽΡ‰Π΅Π΅ ΠΊΠΎΠ½Π΅Ρ‡Π½ΠΎΠΌΡƒ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŽ ΠΏΠΎΠ»ΡƒΡ‡Π°Ρ‚ΡŒ ΡΠ»Π΅ΠΊΡ‚Ρ€ΠΎΠ½Π½ΡƒΡŽ ΠΏΠΎΡ‡Ρ‚Ρƒ Ρ‡Π΅Ρ€Π΅Π· Π²Π΅Π±-Π±Ρ€Π°ΡƒΠ·Π΅Ρ€ ΠΈ WAP-устройства. Π­Ρ‚ΠΎ клиСнтскоС ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½ΠΎΠ΅ обСспСчСниС Π²Π΅Π±-ΠΏΠΎΡ‡Ρ‚Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ установлСно Π½Π° Ρ€Π°Π·Π»ΠΈΡ‡Π½Ρ‹Ρ… ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΠ°Ρ…, Ρ‚Π°ΠΊΠΈΡ… ΠΊΠ°ΠΊ Windows ΠΈ Linux. ΠšΡ€ΠΎΠΌΠ΅ Ρ‚ΠΎΠ³ΠΎ, ΠΎΠ½ ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°Π΅Ρ‚ Ρ€Π°Π·Π»ΠΈΡ‡Π½Ρ‹Π΅ Ρ‚Π΅Ρ…Π½ΠΎΠ»ΠΎΠ³ΠΈΠΈ элСктронной ΠΏΠΎΡ‡Ρ‚Ρ‹, Ρ‚Π°ΠΊΠΈΠ΅ ΠΊΠ°ΠΊ ΠΏΠΎΡ‡Ρ‚ΠΎΠ²Ρ‹Π΅ ящики IMAP / POP3, ΠΈ Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹ΠΉ Ρ€Π΅ΠΆΠΈΠΌ ΠΏΠΎΡ‡Ρ‚ΠΎΠ²ΠΎΠ³ΠΎ сСрвСра, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ Exim Π² качСствС MTA.

AfterLogic WebMail Lite PHP β€” это простой Π² использовании скрипт Π²Π΅Π±-ΠΏΠΎΡ‡Ρ‚Ρ‹ с соврСмСнным интСрфСйсом, ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°ΡŽΡ‰ΠΈΠΉ AJAX ΠΈ скины. ΠŸΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΠΈ ΠΌΠΎΠ³ΡƒΡ‚ ΠΏΠΎΠ»ΡƒΡ‡Π°Ρ‚ΡŒ, ΠΏΡ€ΠΎΡΠΌΠ°Ρ‚Ρ€ΠΈΠ²Π°Ρ‚ΡŒ, ΡƒΠ΄Π°Π»ΡΡ‚ΡŒ, ΡΠΎΠ·Π΄Π°Π²Π°Ρ‚ΡŒ ΠΈ ΠΎΡ‚ΠΏΡ€Π°Π²Π»ΡΡ‚ΡŒ ΠΏΠΎΡ‡Ρ‚Ρƒ Ρ‡Π΅Ρ€Π΅Π· Π²Π΅Π±-интСрфСйс (ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°ΡŽΡ‚ΡΡ ΠΏΡ€ΠΎΡ‚ΠΎΠΊΠΎΠ»Ρ‹ POP3 ΠΈ SMTP). НСсколько Π²Π»ΠΎΠΆΠ΅Π½ΠΈΠΉ, нСсколько ΠΏΠΎΡ‡Ρ‚ΠΎΠ²Ρ‹Ρ… ΡƒΡ‡Π΅Ρ‚Π½Ρ‹Ρ… записСй ΠΈ Π΄ΠΎΠΌΠ΅Π½ΠΎΠ², панСль ΠΏΡ€Π΅Π΄Π²Π°Ρ€ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΠ³ΠΎ просмотра, Π²Π΅Π±-администрированиС. ΠŸΡ€ΠΎΡΡ‚Π°Ρ установка, ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°Π΅Ρ‚ PHP 4.1 ΠΈ Π²Ρ‹ΡˆΠ΅. Π‘ ΠΎΡ‚ΠΊΡ€Ρ‹Ρ‚Ρ‹ΠΌ исходным ΠΊΠΎΠ΄ΠΎΠΌ ΠΈ ΡΠΎΠ²Π΅Ρ€ΡˆΠ΅Π½Π½ΠΎ бСсплатно. ΠœΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ ΠΎΠ±Π½ΠΎΠ²Π»Π΅Π½ Π΄ΠΎ вСрсии Pro с Ρ€Π°ΡΡˆΠΈΡ€Π΅Π½Π½Ρ‹ΠΌΠΈ функциями….

Live Demo

Hastymail β€” это ΠΏΠΎΠ»Π½ΠΎΡ„ΡƒΠ½ΠΊΡ†ΠΈΠΎΠ½Π°Π»ΡŒΠ½Ρ‹ΠΉ ΠΊΠ»ΠΈΠ΅Π½Ρ‚ IMAP/SMTP, написанный Π½Π° PHP. Π‘ΠΎΠ²ΠΌΠ΅ΡΡ‚ΠΈΠΌΠΎΡΡ‚ΡŒ с КПК, Ρ‚Π΅Π»Π΅Ρ„ΠΎΠ½Π°ΠΌΠΈ, тСкстовыми Π±Ρ€Π°ΡƒΠ·Π΅Ρ€Π°ΠΌΠΈ ΠΈ всСми распространСнными Π±Ρ€Π°ΡƒΠ·Π΅Ρ€Π°ΠΌΠΈ. Hastymail ΠΈΠΌΠ΅Π΅Ρ‚ ΠΌΠΎΡ‰Π½ΡƒΡŽ систСму ΠΏΠ»Π°Π³ΠΈΠ½ΠΎΠ², ΠΊΠΎΡ‚ΠΎΡ€ΡƒΡŽ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠΈ PHP ΠΌΠΎΠ³ΡƒΡ‚ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ для измСнСния Π΅Π³ΠΎ Ρ€Π°Π±ΠΎΡ‚Ρ‹. ΠŸΠ»Π°Π³ΠΈΠ½Ρ‹ ΠΌΠΎΠ³ΡƒΡ‚ Π΄ΠΎΠ±Π°Π²Π»ΡΡ‚ΡŒ страницы Π² ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ Hastymail (Π²ΠΊΠ»ΡŽΡ‡Π°Ρ Ρ„Π°ΠΉΠ»Ρ‹ css), ΠΈΠ·ΠΌΠ΅Π½ΡΡ‚ΡŒ ΡΡƒΡ‰Π΅ΡΡ‚Π²ΡƒΡŽΡ‰ΠΈΠ΅ страницы, вставляя XHTML, ΠΈΠ·ΠΌΠ΅Π½ΡΡ‚ΡŒ Π²Π½ΡƒΡ‚Ρ€Π΅Π½Π½ΠΈΠ΅ структуры Π΄Π°Π½Π½Ρ‹Ρ… Π² Hastymail, Π²Ρ‹ΠΏΠΎΠ»Π½ΡΡ‚ΡŒ ΠΎΠ±Ρ€Π°Ρ‚Π½Ρ‹Π΅ Π²Ρ‹Π·ΠΎΠ²Ρ‹ AJAX с использованиСм своСй систСмы AJAX ΠΈ Π΄Π°ΠΆΠ΅ Π²Π·Π°ΠΈΠΌΠΎΠ΄Π΅ΠΉΡΡ‚Π²ΠΎΠ²Π°Ρ‚ΡŒ с настроСнным сСрвСром SQL.

Mailr β€” это ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ Π²Π΅Π±-ΠΏΠΎΡ‡Ρ‚Ρ‹ с ΠΎΡ‚ΠΊΡ€Ρ‹Ρ‚Ρ‹ΠΌ исходным ΠΊΠΎΠ΄ΠΎΠΌ, написанноС Π½Π° Ruby ΠΈ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‰Π΅Π΅ инфраструктуру Π²Π΅Π±-ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ Ruby On Rails. ΠŸΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ протСстировано с Courier-IMAP, Π½ΠΎ Π΄ΠΎΠ»ΠΆΠ½ΠΎ Π±Ρ‹Ρ‚ΡŒ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ Π΅Π³ΠΎ с Π»ΡŽΠ±Ρ‹ΠΌ Π΄Ρ€ΡƒΠ³ΠΈΠΌ сСрвСром IMAP.

9. Claros inTouch

Claros inTouch β€” это ΠΊΠΎΠΌΠΌΡƒΠ½ΠΈΠΊΠ°Ρ†ΠΈΠΎΠ½Π½Ρ‹ΠΉ ΠΏΠ°ΠΊΠ΅Ρ‚ Ajax с Ρ‚Π°ΠΊΠΈΠΌΠΈ ΠΊΠ»ΡŽΡ‡Π΅Π²Ρ‹ΠΌΠΈ функциями, ΠΊΠ°ΠΊ Π²Π΅Π±-ΠΏΠΎΡ‡Ρ‚Π°, адрСсная ΠΊΠ½ΠΈΠ³Π°, самоклСящиСся Π·Π°ΠΌΠ΅Ρ‚ΠΊΠΈ, ΠΊΠ°Π»Π΅Π½Π΄Π°Ρ€ΡŒ (Π² процСссС), Π²Π΅Π±-диск (Π² процСссС), встроСнный мСссСндТСр ΠΈ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ° для чтСния RSS. . Π­Ρ‚ΠΎ ΠΏΠ΅Ρ€Π²ΠΎΠ΅ Π²Π΅Π±-ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ с ΠΎΡ‚ΠΊΡ€Ρ‹Ρ‚Ρ‹ΠΌ исходным ΠΊΠΎΠ΄ΠΎΠΌ, ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ΅ ΠΈΠΌΠ΅Π΅Ρ‚ Π²ΡΡ‚Ρ€ΠΎΠ΅Π½Π½ΡƒΡŽ Π·Π°Ρ‰ΠΈΡ‚Ρƒ ΠΎΡ‚ спама ΠΈ возмоТности ΠΎΠ±ΠΌΠ΅Π½Π° ΠΌΠ³Π½ΠΎΠ²Π΅Π½Π½Ρ‹ΠΌΠΈ сообщСниями вмСстС с тСхнологиями Web 2. 0. ΠŸΠΎΡΡ‚Ρ€ΠΎΠ΅Π½ Π½Π° Java, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ JSP/Servlets с Ρ…ΠΎΡ€ΠΎΡˆΠΎ извСстными тСхнологиями J2EE ΠΈ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ Π±Π°Π·Ρƒ Π΄Π°Π½Π½Ρ‹Ρ… MySQL.

Postaci β€” это ΠΏΠΎΡ‡Ρ‚ΠΎΠ²Ρ‹ΠΉ ΠΊΠ»ΠΈΠ΅Π½Ρ‚ POP3/IMAP Π½Π° основС PHP, ΠΎΡ‡Π΅Π½ΡŒ простой ΠΈ ΡƒΠ΄ΠΎΠ±Π½Ρ‹ΠΉ Π² использовании. Он ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°Π΅Ρ‚ Π°ΡƒΡ‚Π΅Π½Ρ‚ΠΈΡ„ΠΈΠΊΠ°Ρ†ΠΈΡŽ SMTP. Он ΠΌΠΎΠΆΠ΅Ρ‚ Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ с ΠΎΠ±ΠΎΠΈΠΌΠΈ ΠΏΡ€ΠΎΡ‚ΠΎΠΊΠΎΠ»Π°ΠΌΠΈ, Π° ΠΏΡ€ΠΎΡ‚ΠΎΠΊΠΎΠ» ΠΏΠΎ ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ ΠΌΠΎΠΆΠ½ΠΎ ΠΈΠ·ΠΌΠ΅Π½ΠΈΡ‚ΡŒ Π² ΠΎΠ΄Π½ΠΎΠΌ Ρ„Π°ΠΉΠ»Π΅ ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ†ΠΈΠΈ. Postaci Π½Π΅ зависит ΠΎΡ‚ ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΡ‹, ΠΎΠ½ ΠΌΠΎΠΆΠ΅Ρ‚ Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ Π² любой ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΎΠ½Π½ΠΎΠΉ систСмС, ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°ΡŽΡ‰Π΅ΠΉ PHP. Postaci Ρ‚Π°ΠΊΠΆΠ΅ Π½Π΅ зависит ΠΎΡ‚ Π±Π°Π·Ρ‹ Π΄Π°Π½Π½Ρ‹Ρ…, Π΅Π³ΠΎ ΠΌΠΎΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ с MySQL, mSQL, Microsoft SQL, Sybase, PostgreSQL.

Π­Ρ‚Π° ΡΡ‚Π°Ρ‚ΡŒΡ Π±Ρ‹Π»Π° ΠΏΠ΅Ρ€Π²ΠΎΠ½Π°Ρ‡Π°Π»ΡŒΠ½ΠΎ ΠΎΠΏΡƒΠ±Π»ΠΈΠΊΠΎΠ²Π°Π½Π° 11 ΠΌΠ°Ρ€Ρ‚Π° 2009 Π³. ΠΈ ΠΎΠ±Π½ΠΎΠ²Π»Π΅Π½Π° ​​21 апрСля 2022 Π³.

Π£Ρ‡ΠΈΡ‚Π΅ΡΡŒ ΠΆΠΈΡ‚ΡŒ ΠΈ Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ ΡƒΠΌΠ½Π΅Π΅, Π° Π½Π΅ усСрднСС!

ΠŸΠΎΠ»ΡƒΡ‡Π°ΠΉΡ‚Π΅ наши Π»ΡƒΡ‡ΡˆΠΈΠ΅ ΡΡ‚Π°Ρ‚ΡŒΠΈ ΠΊΠ°ΠΆΠ΄ΡƒΡŽ нСдСлю прямо Π² свой ΠΏΠΎΡ‡Ρ‚ΠΎΠ²Ρ‹ΠΉ ящик.

Π’Π²Π΅Π΄ΠΈΡ‚Π΅ ваш адрСс элСктронной ΠΏΠΎΡ‡Ρ‚Ρ‹

Π Π•ΠšΠžΠœΠ•ΠΠ”Π£Π•ΠœΠ«Π• Π˜Π—Π”Π•Π›Π˜Π―

MailCatcher

MailCatcher

Π›ΠΎΠ²ΠΈΡ‚ ΠΏΠΎΡ‡Ρ‚Ρƒ ΠΈ доставляСт Π΅Π΅ Ρ‡Π΅Ρ€Π΅Π· сон.

MailCatcher запускаСт свСрхпростой SMTP-сСрвСр, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ ΠΏΠ΅Ρ€Π΅Ρ…Π²Π°Ρ‚Ρ‹Π²Π°Π΅Ρ‚ любоС ΠΎΡ‚ΠΏΡ€Π°Π²Π»Π΅Π½Π½ΠΎΠ΅ Π΅ΠΌΡƒ сообщСниС для отобраТСния Π² Π²Π΅Π±-интСрфСйсС. ЗапуститС mailcatcher, настройтС своС любимоС ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ для доставки Π½Π° smtp://127.0.0.1:1025 вмСсто SMTP-сСрвСра ΠΏΠΎ ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ, Π° Π·Π°Ρ‚Π΅ΠΌ ΠΏΡ€ΠΎΠ²Π΅Ρ€ΡŒΡ‚Π΅ http://127.0.0.1:1080, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΡƒΠ²ΠΈΠ΄Π΅Ρ‚ΡŒ ΠΏΡ€ΠΈΠ±Ρ‹Π²ΡˆΡƒΡŽ ΠΏΠΎΡ‡Ρ‚Ρƒ.

ΠžΡΠΎΠ±Π΅Π½Π½ΠΎΡΡ‚ΠΈ

  • ΠŸΠ΅Ρ€Π΅Ρ…Π²Π°Ρ‚Ρ‹Π²Π°Π΅Ρ‚ всю ΠΏΠΎΡ‡Ρ‚Ρƒ ΠΈ сохраняСт Π΅Π΅ для отобраТСния.
  • ΠŸΠΎΠΊΠ°Π·Ρ‹Π²Π°Π΅Ρ‚ HTML, ΠΎΠ±Ρ‹Ρ‡Π½Ρ‹ΠΉ тСкст ΠΈ ΠΈΡΡ…ΠΎΠ΄Π½ΡƒΡŽ Π²Π΅Ρ€ΡΠΈΡŽ сообщСний, Ссли ΠΏΡ€ΠΈΠΌΠ΅Π½ΠΈΠΌΠΎ.
  • ΠŸΠ΅Ρ€Π΅ΠΏΠΈΡΡ‹Π²Π°Π΅Ρ‚ HTML, позволяя ΠΎΡ‚ΠΎΠ±Ρ€Π°ΠΆΠ°Ρ‚ΡŒ встроСнныС, встроСнныС изобраТСния ΠΈ Ρ‚. Π΄., ΠΈ ΠΎΡ‚ΠΊΡ€Ρ‹Π²Π°Π΅Ρ‚ ссылки Π² Π½ΠΎΠ²ΠΎΠΌ ΠΎΠΊΠ½Π΅.
  • Бписок Π²Π»ΠΎΠΆΠ΅Π½ΠΈΠΉ ΠΈ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ ΠΎΡ‚Π΄Π΅Π»ΡŒΠ½ΠΎΠΉ Π·Π°Π³Ρ€ΡƒΠ·ΠΊΠΈ частСй.
  • Π—Π°Π³Ρ€ΡƒΠ·ΠΈΡ‚Π΅ исходноС письмо для просмотра Π² Ρ€ΠΎΠ΄Π½Ρ‹Ρ… ΠΏΠΎΡ‡Ρ‚ΠΎΠ²Ρ‹Ρ… ΠΊΠ»ΠΈΠ΅Π½Ρ‚Π°Ρ….
  • ΠŸΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Ρ‹ ΠΊΠΎΠΌΠ°Π½Π΄Π½ΠΎΠΉ строки для пСрСопрСдСлСния настроСк IP ΠΈ ΠΏΠΎΡ€Ρ‚Π° SMTP/HTTP ΠΏΠΎ ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ.
  • ΠŸΠΎΡ‡Ρ‚Π° появляСтся ΠΌΠ³Π½ΠΎΠ²Π΅Π½Π½ΠΎ, Ссли ваш Π±Ρ€Π°ΡƒΠ·Π΅Ρ€ ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°Π΅Ρ‚ WebSockets, Π² ΠΏΡ€ΠΎΡ‚ΠΈΠ²Π½ΠΎΠΌ случаС обновляСтся ΠΊΠ°ΠΆΠ΄Ρ‹Π΅ Ρ‚Ρ€ΠΈΠ΄Ρ†Π°Ρ‚ΡŒ сСкунд.
  • Π Π°Π±ΠΎΡ‚Π°Π΅Ρ‚ ΠΊΠ°ΠΊ Π΄Π΅ΠΌΠΎΠ½ Π² Ρ„ΠΎΠ½ΠΎΠ²ΠΎΠΌ Ρ€Π΅ΠΆΠΈΠΌΠ΅, Π° ΠΌΠΎΠΆΠ΅Ρ‚ ΠΈ Π² Π°ΠΊΡ‚ΠΈΠ²Π½ΠΎΠΌ Ρ€Π΅ΠΆΠΈΠΌΠ΅.
  • Команда
  • Sendmail-Π°Π½Π°Π»ΠΎΠ³, catchmail , Π·Π½Π°Ρ‡ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ ΡƒΠΏΡ€ΠΎΡ‰Π°Π΅Ρ‚ использованиС mailcatcher ΠΈΠ· PHP.
  • Навигация с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ ΠΊΠ»Π°Π²ΠΈΠ°Ρ‚ΡƒΡ€Ρ‹ ΠΌΠ΅ΠΆΠ΄Ρƒ сообщСниями

Как

  1. Π³Π΅ΠΌ ΡƒΡΡ‚Π°Π½ΠΎΠ²ΠΈΡ‚ΡŒ mailcatcher
  2. ΠΏΠΎΡ‡Ρ‚Π°Π»ΡŒΠΎΠ½
  3. ΠŸΠ΅Ρ€Π΅ΠΉΡ‚ΠΈ Π½Π° http://127.0.0.1:1080/
  4. ΠžΡ‚ΠΏΡ€Π°Π²ΠΊΠ° ΠΏΠΎΡ‡Ρ‚Ρ‹ Ρ‡Π΅Ρ€Π΅Π· smtp://127.0.0.1:1025

Π˜ΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠΉΡ‚Π΅ mailcatcher --help для просмотра ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ΠΎΠ² ΠΊΠΎΠΌΠ°Π½Π΄Π½ΠΎΠΉ строки. Π‘ΠΌΠ΅Π»Ρ‹Π΅ ΠΌΠΎΠ³ΡƒΡ‚ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ исходники ΠΈΠ· рСпозитория GitHub.

Π£ΠΏΠ°ΠΊΠΎΠ²Ρ‰ΠΈΠΊ

ΠŸΠΎΠΆΠ°Π»ΡƒΠΉΡΡ‚Π°, Π½Π΅ добавляйтС mailcatcher Π² свой Gemfile. Π’ ΠΊΠ°ΠΊΠΎΠΉ-Ρ‚ΠΎ ΠΌΠΎΠΌΠ΅Π½Ρ‚ это Π±ΡƒΠ΄Π΅Ρ‚ ΠΊΠΎΠ½Ρ„Π»ΠΈΠΊΡ‚ΠΎΠ²Π°Ρ‚ΡŒ с Π³Π΅ΠΌΠ°ΠΌΠΈ Π²Π°ΡˆΠΈΡ… ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ.

ВмСсто этого Π΄ΠΎΠ±Π°Π²ΡŒΡ‚Π΅ ΠΏΡ€ΠΈΠΌΠ΅Ρ‡Π°Π½ΠΈΠ΅ Π² README ΠΎ Ρ‚ΠΎΠΌ, Ρ‡Ρ‚ΠΎ Π²Ρ‹ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚Π΅ mailcatcher, ΠΈ для запуска gem установитС mailcatcher , Π·Π°Ρ‚Π΅ΠΌ mailcatcher , Ρ‡Ρ‚ΠΎΠ±Ρ‹ Π½Π°Ρ‡Π°Ρ‚ΡŒ.

Π Π’Πœ

Π’ RVM ваша ΠΊΠΎΠΌΠ°Π½Π΄Π° mailcatcher ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ доступна Ρ‚ΠΎΠ»ΡŒΠΊΠΎ ΠΏΠΎΠ΄ ruby, Π² ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ Π²Ρ‹ устанавливаСтС mailcatcher. Π§Ρ‚ΠΎΠ±Ρ‹ ΠΏΡ€Π΅Π΄ΠΎΡ‚Π²Ρ€Π°Ρ‚ΠΈΡ‚ΡŒ это ΠΈ ΠΏΡ€Π΅Π΄ΠΎΡ‚Π²Ρ€Π°Ρ‚ΠΈΡ‚ΡŒ ΠΊΠΎΠ½Ρ„Π»ΠΈΠΊΡ‚Ρ‹ Π³Π΅ΠΌΠΎΠ², установитС mailcatcher Π² Π²Ρ‹Π΄Π΅Π»Π΅Π½Π½Ρ‹ΠΉ Π½Π°Π±ΠΎΡ€ Π³Π΅ΠΌΠΎΠ² с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ скрипта-ΠΎΠ±ΠΎΠ»ΠΎΡ‡ΠΊΠΈ:

.
 rvm default@mailcatcher --create do gem install mailcatcher
ln -s "$(rvm default@mailcatcher ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ ΠΎΠ±ΠΎΠ»ΠΎΡ‡ΠΊΡƒ rvm ΠΏΠΎΠΊΠ°Π·Π°Ρ‚ΡŒ mailcatcher)" "$rvm_bin_path/"
 

Π Π΅Π»ΡŒΡΡ‹

Π§Ρ‚ΠΎΠ±Ρ‹ Π½Π°ΡΡ‚Ρ€ΠΎΠΈΡ‚ΡŒ вашС ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ rails, я Ρ€Π΅ΠΊΠΎΠΌΠ΅Π½Π΄ΡƒΡŽ Π΄ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ это Π² ваш environments/development.rb :

 config.action_mailer.delivery_method = :SMTP
config.action_mailer.smtp_settings = { :address => '127.0.0.1', :port => 1025}
config.action_mailer. raise_delivery_errors = лоТь
 

PHP

Для ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ΠΎΠ², ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‰ΠΈΡ… PHP ΠΈΠ»ΠΈ PHP-Ρ„Ρ€Π΅ΠΉΠΌΠ²ΠΎΡ€ΠΊΠΈ ΠΈ ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΡ‹ ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ, Ρ‚Π°ΠΊΠΈΠ΅ ΠΊΠ°ΠΊ Drupal, Π²Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ Π½Π°ΡΡ‚Ρ€ΠΎΠΈΡ‚ΡŒ ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ†ΠΈΡŽ ΠΏΠΎΡ‡Ρ‚Ρ‹ PHP Π² Ρ„Π°ΠΉΠ»Π΅ php.ini для ΠΎΡ‚ΠΏΡ€Π°Π²ΠΊΠΈ Ρ‡Π΅Ρ€Π΅Π· MailCatcher с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ:

 sendmail_path = /usr/bin/env catchmail -f [email protected]
 

Π’Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ это Π² ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ†ΠΈΠΈ Apache ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ:

 php_admin_value sendmail_path "/usr/bin/env catchmail -f [email protected]"
 

Если Π²Ρ‹ установили Ρ‡Π΅Ρ€Π΅Π· RVM, это, вСроятно, Π½Π΅ сработаСт, Ссли Π²Ρ‹ Π²Ρ€ΡƒΡ‡Π½ΡƒΡŽ Π½Π΅ Π΄ΠΎΠ±Π°Π²ΠΈΠ»ΠΈ ΠΏΡƒΡ‚ΠΈ ΠΊ Π±ΠΈΠ½Π°ΠΌ RVM Π² PATH вашСй систСмной срСды. Π’ этом случаС запуститС , ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ ΠΏΠ΅Ρ€Π΅Ρ…Π²Π°Ρ‚ΠΈΡ‚ ΠΏΠΎΡ‡Ρ‚Ρƒ , ΠΈ помСститС этот ΠΏΡƒΡ‚ΡŒ Π² ΡƒΠΊΠ°Π·Π°Π½Π½ΡƒΡŽ Π²Ρ‹ΡˆΠ΅ Π΄ΠΈΡ€Π΅ΠΊΡ‚ΠΈΠ²Ρƒ sendmail_path вмСсто /usr/bin/env catchmail .

ΠŸΡ€ΠΈ запускС mailcatcher Π½Π° Π°Π»ΡŒΡ‚Π΅Ρ€Π½Π°Ρ‚ΠΈΠ²Π½ΠΎΠΌ SMTP IP ΠΈ/ΠΈΠ»ΠΈ ΠΏΠΎΡ€Ρ‚Ρƒ с Ρ‚Π°ΠΊΠΈΠΌΠΈ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Π°ΠΌΠΈ, ΠΊΠ°ΠΊ --smtp-ip 192.168.0.1 --smtp-port 10025 , Π΄ΠΎΠ±Π°Π²ΡŒΡ‚Π΅ Ρ‚Π΅ ΠΆΠ΅ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Ρ‹ Π² ΠΊΠΎΠΌΠ°Π½Π΄Ρƒ catchmail :

 sendmail_path = /usr/bin/env catchmail --smtp-ip 192. 160.0.1 --smtp-port 10025 -f [email protected]
 

Π”ΠΆΠ°Π½Π³ΠΎ

Для использования Π² Django Π΄ΠΎΠ±Π°Π²ΡŒΡ‚Π΅ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΡƒΡŽ ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ†ΠΈΡŽ Π² Ρ„Π°ΠΉΠ» settings.py вашСго ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π°

, Ссли ΠžΠ’Π›ΠΠ”ΠšΠ:
    EMAIL_HOST = '127.0.0.1'
    EMAIL_HOST_USER = ''
    EMAIL_HOST_PASSWORD = ''
    EMAIL_PORT = 1025
    EMAIL_USE_TLS = Π›ΠΎΠΆΡŒ 

API

Π”ΠΎΠ²ΠΎΠ»ΡŒΠ½ΠΎ RESTful URL-схСма ΠΎΠ·Π½Π°Ρ‡Π°Π΅Ρ‚, Ρ‡Ρ‚ΠΎ Π²Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ Π·Π°Π³Ρ€ΡƒΠ·ΠΈΡ‚ΡŒ список сообщСний Π² Ρ„ΠΎΡ€ΠΌΠ°Ρ‚Π΅ JSON ΠΈΠ· /messages , ΠΌΠ΅Ρ‚Π°Π΄Π°Π½Π½Ρ‹Π΅ ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ сообщСния с /messages/:id.json , Π° Π·Π°Ρ‚Π΅ΠΌ ΡΠΎΠΎΡ‚Π²Π΅Ρ‚ΡΡ‚Π²ΡƒΡŽΡ‰ΠΈΠ΅ части с /messages/:id.html ΠΈ /messages/:id.plain для вСрсии HTML ΠΈ ΠΎΠ±Ρ‹Ρ‡Π½ΠΎΠ³ΠΎ тСкста ΠΏΠΎ ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ, /messages/:id/:cid для ΠΎΡ‚Π΄Π΅Π»ΡŒΠ½Ρ‹Ρ… Π²Π»ΠΎΠΆΠ΅Π½ΠΈΠΉ ΠΏΠΎ CID ΠΈΠ»ΠΈ всС сообщСниС с /messages/:id.source .

ΠŸΡ€Π΅Π΄ΠΎΡΡ‚Π΅Ρ€Π΅ΠΆΠ΅Π½ΠΈΡ

  • ΠžΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠ° ΠΏΠΎΡ‡Ρ‚Ρ‹ довольно проста, Π½ΠΎ Π»Π΅Π³ΠΊΠΎ модифицируСтся. Если Ρ‡Ρ‚ΠΎ-Ρ‚ΠΎ Π½Π΅ Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚ для вас, Ρ€Π°Π·Π²Π΅Ρ‚Π²ΠΈΡ‚Π΅ ΠΈ ΠΈΡΠΏΡ€Π°Π²ΡŒΡ‚Π΅ это ΠΈΠ»ΠΈ сообщитС ΠΎ ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΠ΅ ΠΈ Π΄Π°ΠΉΡ‚Π΅ ΠΌΠ½Π΅ Π·Π½Π°Ρ‚ΡŒ. Π’ΠΊΠ»ΡŽΡ‡ΠΈΡ‚Π΅ всС сообщСниС, с ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΌ Ρƒ вас Π²ΠΎΠ·Π½ΠΈΠΊΠ»ΠΈ ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΡ‹.
  • ΠšΠΎΠ΄ΠΈΡ€ΠΎΠ²ΠΊΠΈ слоТны. MailCatcher Π½Π΅ ΠΏΠΎΠ»Π½ΠΎΡΡ‚ΡŒΡŽ ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°Π΅Ρ‚ utf-8 Π½Π°ΠΏΡ€ΡΠΌΡƒΡŽ ΠΏΠΎ сСти, Π²Ρ‹ Π΄ΠΎΠ»ΠΆΠ½Ρ‹ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ ΠΏΠΎΡ‡Ρ‚ΠΎΠ²ΡƒΡŽ Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΡƒ, которая ΠΏΡ€Π°Π²ΠΈΠ»ΡŒΠ½ΠΎ ΠΊΠΎΠ΄ΠΈΡ€ΡƒΠ΅Ρ‚ Π²Π΅Ρ‰ΠΈ Π½Π° основС возмоТностСй SMTP-сСрвСра.

Π’ΠžΠ”Πž

  • Π”ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ доставку ΠΏΠΎΡ‡Ρ‚Ρ‹ ΠΏΠΎ запросу, ΠΏΡ€ΠΈ ΠΆΠ΅Π»Π°Π½ΠΈΠΈ нСсколько Ρ€Π°Π·.
  • ΠŸΡ€ΠΎΠ²Π΅Ρ€ΠΊΠ° совмСстимости с рСкомСндациями ΠΏΠΎ Π΄ΠΈΠ·Π°ΠΉΠ½Ρƒ CampaignMonitor ΠΈ ΠΌΠ°Ρ‚Ρ€ΠΈΡ†Π΅ΠΉ ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠΈ CSS.
  • ΠŸΠ΅Ρ€Π΅Π½Π°ΠΏΡ€Π°Π²ΠΈΡ‚ΡŒ ΠΏΠΎΡ‡Ρ‚Ρƒ Π² слуТбу Ρ€Π΅Π½Π΄Π΅Ρ€ΠΈΠ½Π³Π°, Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ, Π² CampaignMonitor?

Бпасибо

MailCatcher β€” это просто мСшанина ΠΈΠ· тяТСлой Ρ€Π°Π±ΠΎΡ‚Ρ‹ Π΄Ρ€ΡƒΠ³ΠΈΡ… людСй. Π‘ΠΎΠ»ΡŒΡˆΠΎΠ΅ спасибо людям, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ построили Π·Π°ΠΌΠ΅Ρ‡Π°Ρ‚Π΅Π»ΡŒΠ½Ρ‹Π΅ кишки, Π½Π° ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ опираСтся этот ΠΏΡ€ΠΎΠ΅ΠΊΡ‚.

ΠŸΠΎΠΆΠ΅Ρ€Ρ‚Π²ΠΎΠ²Π°Π½ΠΈΡ

Π― Ρ€Π°Π±ΠΎΡ‚Π°ΡŽ Π½Π°Π΄ MailCatcher Π² основном Π² свободноС врСмя. Если Π²Ρ‹ нашли Mailcatcher ΠΏΠΎΠ»Π΅Π·Π½Ρ‹ΠΌ ΠΈ Ρ…ΠΎΡ‚Π΅Π»ΠΈ Π±Ρ‹ ΠΏΠΎΠΌΠΎΡ‡ΡŒ ΠΌΠ½Π΅ ΠΊΠΎΡ€ΠΌΠΈΡ‚ΡŒ мСня ΠΈ Ρ„ΠΈΠ½Π°Π½ΡΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ дальнСйшСС Ρ€Π°Π·Π²ΠΈΡ‚ΠΈΠ΅ ΠΈ Π½ΠΎΠ²Ρ‹Π΅ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ, поТалуйста, сдСлайтС ΠΏΠΎΠΆΠ΅Ρ€Ρ‚Π²ΠΎΠ²Π°Π½ΠΈΠ΅ Ρ‡Π΅Ρ€Π΅Π· PayPal.

ΠžΡΡ‚Π°Π²ΠΈΡ‚ΡŒ ΠΊΠΎΠΌΠΌΠ΅Π½Ρ‚Π°Ρ€ΠΈΠΉ

Π”ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ ΠΊΠΎΠΌΠΌΠ΅Π½Ρ‚Π°Ρ€ΠΈΠΉ

Π’Π°Ρˆ адрСс email Π½Π΅ Π±ΡƒΠ΄Π΅Ρ‚ ΠΎΠΏΡƒΠ±Π»ΠΈΠΊΠΎΠ²Π°Π½. ΠžΠ±ΡΠ·Π°Ρ‚Π΅Π»ΡŒΠ½Ρ‹Π΅ поля ΠΏΠΎΠΌΠ΅Ρ‡Π΅Π½Ρ‹ *