Когда ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒ Π½Π°ΠΆΠΈΠΌΠ°Π΅Ρ‚ ΠΊΠ½ΠΎΠΏΠΊΡƒ Β«Π‘Π²ΡΠ·Π°Ρ‚ΡŒΡΡ с Π½Π°ΠΌΠΈΒ» ΠΈΠ»ΠΈ Β«ΠžΡ‚ΠΏΡ€Π°Π²ΠΈΡ‚ΡŒ ΠΎΡ‚Ρ‡Π΅Ρ‚Β» Π²Π½ΡƒΡ‚Ρ€ΠΈ мобильного прилоТСния, запускаСтся слоТный ΠΌΠ΅Ρ…Π°Π½ΠΈΠ·ΠΌ взаимодСйствия ΠΌΠ΅ΠΆΠ΄Ρƒ ΠΊΠΎΠ΄ΠΎΠΌ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ ΠΈ ΠΏΠΎΡ‡Ρ‚ΠΎΠ²Ρ‹ΠΌ ΠΊΠ»ΠΈΠ΅Π½Ρ‚ΠΎΠΌ устройства. Π˜ΡΡ…ΠΎΠ΄ΡΡ‰Π΅Π΅ письмо формируСтся динамичСски, собирая Π΄Π°Π½Π½Ρ‹Π΅ ΠΈΠ· интСрфСйса, систСмных Π»ΠΎΠ³ΠΎΠ² ΠΈΠ»ΠΈ ΡΠΊΡ€ΠΈΠ½ΡˆΠΎΡ‚ΠΎΠ², Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΌΠ³Π½ΠΎΠ²Π΅Π½Π½ΠΎ ΠΏΠΎΠΏΠ°ΡΡ‚ΡŒ Π² Ρ‡Π΅Ρ€Π½ΠΎΠ²ΠΈΠΊΠΈ ΠΈΠ»ΠΈ Π½Π° ΠΎΡ‚ΠΏΡ€Π°Π²ΠΊΡƒ. Π­Ρ‚ΠΎ каТСтся простым дСйствиСм, Π½ΠΎ Π·Π° кулисами происходит ΠΎΠ±ΠΌΠ΅Π½ мноТСством ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ΠΎΠ², ΠΎΡ‚ ΠΊΠΎΠ΄ΠΈΡ€ΠΎΠ²ΠΊΠΈ тСкста Π΄ΠΎ MIME-Ρ‚ΠΈΠΏΠΎΠ² Π²Π»ΠΎΠΆΠ΅Π½ΠΈΠΉ.

МногиС Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠΈ ΠΈ тСхничСскиС спСциалисты Π½Π΅Π΄ΠΎΠΎΡ†Π΅Π½ΠΈΠ²Π°ΡŽΡ‚ Π²Π°ΠΆΠ½ΠΎΡΡ‚ΡŒ ΠΏΡ€Π°Π²ΠΈΠ»ΡŒΠ½ΠΎΠΉ ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ†ΠΈΠΈ этого процСсса, ΡΡ‚Π°Π»ΠΊΠΈΠ²Π°ΡΡΡŒ с Ρ‚Π΅ΠΌ, Ρ‡Ρ‚ΠΎ письма Π½Π΅ доходят, Ρ‚Π΅Ρ€ΡΡŽΡ‚ Ρ„ΠΎΡ€ΠΌΠ°Ρ‚ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ ΠΈΠ»ΠΈ вовсС Π½Π΅ ΠΎΡ‚ΠΊΡ€Ρ‹Π²Π°ΡŽΡ‚ΡΡ Π² стандартных ΠΊΠ»ΠΈΠ΅Π½Ρ‚Π°Ρ… Π²Ρ€ΠΎΠ΄Π΅ Gmail ΠΈΠ»ΠΈ Outlook. Ошибки Π² ΠΏΠ΅Ρ€Π΅Π΄Π°Ρ‡Π΅ Π΄Π°Π½Π½Ρ‹Ρ… ΠΌΠΎΠ³ΡƒΡ‚ ΡΡ‚ΠΎΠΈΡ‚ΡŒ ΠΊΠΎΠΌΠΏΠ°Π½ΠΈΠΈ потСрянных Π»ΠΈΠ΄ΠΎΠ² ΠΈΠ»ΠΈ нСвозмоТности ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ критичСски Π²Π°ΠΆΠ½Ρ‹ΠΉ Π±Π°Π³-Ρ€Π΅ΠΏΠΎΡ€Ρ‚ ΠΎΡ‚ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Ρ. ИмСнно поэтому ΠΏΠΎΠ½ΠΈΠΌΠ°Π½ΠΈΠ΅ Π²Π½ΡƒΡ‚Ρ€Π΅Π½Π½Π΅ΠΉ ΠΊΡƒΡ…Π½ΠΈ формирования исходящСго сообщСния являСтся ΠΎΠ±ΡΠ·Π°Ρ‚Π΅Π»ΡŒΠ½Ρ‹ΠΌ Π½Π°Π²Ρ‹ΠΊΠΎΠΌ.

Π’ этой ΡΡ‚Π°Ρ‚ΡŒΠ΅ ΠΌΡ‹ Π΄Π΅Ρ‚Π°Π»ΡŒΠ½ΠΎ Ρ€Π°Π·Π±Π΅Ρ€Π΅ΠΌ Π°Ρ€Ρ…ΠΈΡ‚Π΅ΠΊΡ‚ΡƒΡ€Ρƒ ΠΏΠ΅Ρ€Π΅Π΄Π°Ρ‡ΠΈ Π΄Π°Π½Π½Ρ‹Ρ…, Ρ‚ΠΈΠΏΠΈΡ‡Π½Ρ‹Π΅ ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΡ‹ с ΠΊΠΎΠ΄ΠΈΡ€ΠΎΠ²ΠΊΠΎΠΉ ΠΈ влоТСниями, Π° Ρ‚Π°ΠΊΠΆΠ΅ прСдоставим Ρ‡Π΅ΠΊ-листы для ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΊΠΈ коррСктности Ρ€Π°Π±ΠΎΡ‚Ρ‹ ΠΏΠΎΡ‡Ρ‚ΠΎΠ²ΠΎΠ³ΠΎ модуля. Π’Ρ‹ ΡƒΠ·Π½Π°Π΅Ρ‚Π΅, ΠΊΠ°ΠΊ ΠΈΠ·Π±Π΅ΠΆΠ°Ρ‚ΡŒ Π±Π»ΠΎΠΊΠΈΡ€ΠΎΠ²ΠΎΠΊ со стороны ΠΏΠΎΡ‡Ρ‚ΠΎΠ²Ρ‹Ρ… сСрвСров ΠΈ ΠΏΠΎΡ‡Π΅ΠΌΡƒ Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ устройства ΠΈΠ³Π½ΠΎΡ€ΠΈΡ€ΡƒΡŽΡ‚ ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹ прилоТСния.

АрхитСктура взаимодСйствия прилоТСния ΠΈ ΠΏΠΎΡ‡Ρ‚ΠΎΠ²ΠΎΠ³ΠΎ ΠΊΠ»ΠΈΠ΅Π½Ρ‚Π°

Π€ΡƒΠ½Π΄Π°ΠΌΠ΅Π½Ρ‚Π°Π»ΡŒΠ½ΠΎΠΉ основой ΠΏΠ΅Ρ€Π΅Π΄Π°Ρ‡ΠΈ Π΄Π°Π½Π½Ρ‹Ρ… являСтся использованиС ΡΠΏΠ΅Ρ†ΠΈΠ°Π»ΡŒΠ½Ρ‹Ρ… URI-схСм, Ρ‡Π°Ρ‰Π΅ всСго ΠΏΡ€ΠΎΡ‚ΠΎΠΊΠΎΠ»Π° mailto. Когда ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ ΠΈΠ½ΠΈΡ†ΠΈΠΈΡ€ΡƒΠ΅Ρ‚ созданиС исходящСго письма, ΠΎΠ½ΠΎ фактичСски ΠΏΠ΅Ρ€Π΅Π΄Π°Π΅Ρ‚ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΎΠ½Π½ΠΎΠΉ систСмС строку-запрос, ΡΠΎΠ΄Π΅Ρ€ΠΆΠ°Ρ‰ΡƒΡŽ адрСсата, Ρ‚Π΅ΠΌΡƒ ΠΈ Ρ‚Π΅Π»ΠΎ сообщСния. ΠžΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΎΠ½Π½Π°Ρ систСма (iOS, Android ΠΈΠ»ΠΈ дСсктопная ОБ) ΠΏΠ΅Ρ€Π΅Ρ…Π²Π°Ρ‚Ρ‹Π²Π°Π΅Ρ‚ этот запрос ΠΈ пСрСнаправляСт Π΅Π³ΠΎ Π² ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅, Π½Π°Π·Π½Π°Ρ‡Π΅Π½Π½ΠΎΠ΅ ΠΏΠΎ ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ для ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ ΠΏΠΎΡ‡Ρ‚Ρ‹.

Однако простой тСкст β€” это лишь Π²Π΅Ρ€Ρ…ΡƒΡˆΠΊΠ° айсбСрга. Π‘ΠΎΠ²Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Π΅ прилоТСния часто Ρ‚Ρ€Π΅Π±ΡƒΡŽΡ‚ ΠΏΠ΅Ρ€Π΅Π΄Π°Ρ‡ΠΈ Π±ΠΈΠ½Π°Ρ€Π½Ρ‹Ρ… Π΄Π°Π½Π½Ρ‹Ρ…: ΡΠΊΡ€ΠΈΠ½ΡˆΠΎΡ‚ΠΎΠ² экрана, Π»ΠΎΠ³ΠΎΠ² ошибок ΠΈΠ»ΠΈ Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚ΠΎΠ² PDF. Для этого ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ Π±ΠΎΠ»Π΅Π΅ слоТная структура, Π³Π΄Π΅ Ρ‚Π΅Π»ΠΎ письма ΠΌΠΎΠΆΠ΅Ρ‚ ΠΊΠΎΠ΄ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒΡΡ Π² Base64, Π° влоТСния ΠΏΠ΅Ρ€Π΅Π΄Π°ΡŽΡ‚ΡΡ Ρ‡Π΅Ρ€Π΅Π· Π²Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Π΅ Ρ„Π°ΠΉΠ»Ρ‹ ΠΈΠ»ΠΈ ΠΏΠΎΡ‚ΠΎΠΊΠΈ Π΄Π°Π½Π½Ρ‹Ρ…. Если ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ пытаСтся ΠΏΠ΅Ρ€Π΅Π΄Π°Ρ‚ΡŒ Ρ„Π°ΠΉΠ» слишком большого Ρ€Π°Π·ΠΌΠ΅Ρ€Π° Π½Π°ΠΏΡ€ΡΠΌΡƒΡŽ Ρ‡Π΅Ρ€Π΅Π· стандартный ΠΈΠ½Ρ‚Π΅Π½Ρ‚, систСма ΠΌΠΎΠΆΠ΅Ρ‚ просто ΠΎΡ‚ΠΊΠ»ΠΎΠ½ΠΈΡ‚ΡŒ запрос Π±Π΅Π· Π²ΠΈΠ΄ΠΈΠΌΠΎΠΉ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŽ ошибки.

⚠️ Π’Π½ΠΈΠΌΠ°Π½ΠΈΠ΅: НСкоторыС ΠΏΠΎΡ‡Ρ‚ΠΎΠ²Ρ‹Π΅ ΠΊΠ»ΠΈΠ΅Π½Ρ‚Ρ‹ ΠΈΠΌΠ΅ΡŽΡ‚ Π»ΠΈΠΌΠΈΡ‚ Π½Π° Π΄Π»ΠΈΠ½Ρƒ URL-строки запроса. Если Π²Ρ‹ ΠΏΡ‹Ρ‚Π°Π΅Ρ‚Π΅ΡΡŒ ΠΏΠ΅Ρ€Π΅Π΄Π°Ρ‚ΡŒ ΠΎΠ³Ρ€ΠΎΠΌΠ½ΠΎΠ΅ Ρ‚Π΅Π»ΠΎ письма Ρ‡Π΅Ρ€Π΅Π· ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Ρ‹ URI, ΠΎΠ½ΠΎ ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ ΠΎΠ±Ρ€Π΅Π·Π°Π½ΠΎ. Π˜ΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠΉΡ‚Π΅ влоТСния для Π±ΠΎΠ»ΡŒΡˆΠΈΡ… объСмов Π΄Π°Π½Π½Ρ‹Ρ….

Π’Π°ΠΆΠ½ΠΎ ΠΏΠΎΠ½ΠΈΠΌΠ°Ρ‚ΡŒ Ρ€Π°Π·Π½ΠΈΡ†Ρƒ ΠΌΠ΅ΠΆΠ΄Ρƒ Π½Π°Ρ‚ΠΈΠ²Π½Ρ‹ΠΌΠΈ API ΠΏΠΎΡ‡Ρ‚ΠΎΠ²Ρ‹Ρ… слуТб ΠΈ ΡƒΠ½ΠΈΠ²Π΅Ρ€ΡΠ°Π»ΡŒΠ½Ρ‹ΠΌΠΈ схСмами. НативныС API, Ρ‚Π°ΠΊΠΈΠ΅ ΠΊΠ°ΠΊ MFMailComposeViewController Π½Π° iOS, ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡŽΡ‚ Π±ΠΎΠ»Π΅Π΅ Π³ΠΈΠ±ΠΊΠΎ ΡƒΠΏΡ€Π°Π²Π»ΡΡ‚ΡŒ влоТСниями, Π½ΠΎ Ρ‚Ρ€Π΅Π±ΡƒΡŽΡ‚ наличия настроСнного ΠΏΠΎΡ‡Ρ‚ΠΎΠ²ΠΎΠ³ΠΎ Π°ΠΊΠΊΠ°ΡƒΠ½Ρ‚Π° Π½Π° устройствС. Π£Π½ΠΈΠ²Π΅Ρ€ΡΠ°Π»ΡŒΠ½Ρ‹Π΅ схСмы Ρ€Π°Π±ΠΎΡ‚Π°ΡŽΡ‚ Π²Π΅Π·Π΄Π΅, Π½ΠΎ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΎΠ½Π°Π»ΡŒΠ½ΠΎ ΠΎΠ³Ρ€Π°Π½ΠΈΡ‡Π΅Π½Ρ‹.

πŸ“Š Какой ΠΏΠΎΡ‡Ρ‚ΠΎΠ²Ρ‹ΠΉ ΠΊΠ»ΠΈΠ΅Π½Ρ‚ Π²Ρ‹ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚Π΅ Ρ‡Π°Ρ‰Π΅ всСго?
  • Gmail
  • Outlook
  • Apple Mail
  • ЯндСкс.ΠŸΠΎΡ‡Ρ‚Π°
  • Π”Ρ€ΡƒΠ³ΠΎΠΉ

ВСхничСскиС ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Ρ‹ ΠΈ ΠΊΠΎΠ΄ΠΈΡ€ΠΎΠ²ΠΊΠ° сообщСний

ΠšΠΎΡ€Ρ€Π΅ΠΊΡ‚Π½ΠΎΠ΅ ΠΎΡ‚ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅ тСкста Π² исходящСм письмС Π½Π°ΠΏΡ€ΡΠΌΡƒΡŽ зависит ΠΎΡ‚ Π²Ρ‹Π±Ρ€Π°Π½Π½ΠΎΠΉ ΠΊΠΎΠ΄ΠΈΡ€ΠΎΠ²ΠΊΠΈ. Если ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ Ρ„ΠΎΡ€ΠΌΠΈΡ€ΡƒΠ΅Ρ‚ сообщСниС Π² ΠΊΠΎΠ΄ΠΈΡ€ΠΎΠ²ΠΊΠ΅ UTF-8, Π° ΠΏΠΎΡ‡Ρ‚ΠΎΠ²Ρ‹ΠΉ ΠΊΠ»ΠΈΠ΅Π½Ρ‚ ΠΎΠΆΠΈΠ΄Π°Π΅Ρ‚ ISO-8859-1, ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒ ΡƒΠ²ΠΈΠ΄ΠΈΡ‚ Π½Π°Π±ΠΎΡ€ Π½Π΅Ρ‡ΠΈΡ‚Π°Π΅ΠΌΡ‹Ρ… символов вмСсто русского тСкста. ОсобСнно это ΠΊΡ€ΠΈΡ‚ΠΈΡ‡Π½ΠΎ для Ρ‚Π΅ΠΌ писСм ΠΈ ΠΈΠΌΠ΅Π½ ΠΎΡ‚ΠΏΡ€Π°Π²ΠΈΡ‚Π΅Π»Π΅ΠΉ, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ часто ΠΈΠ³Π½ΠΎΡ€ΠΈΡ€ΡƒΡŽΡ‚ΡΡ ΠΏΡ€ΠΈ автоматичСском ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½ΠΈΠΈ ΠΊΠΎΠ΄ΠΈΡ€ΠΎΠ²ΠΊΠΈ.

Π Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠ°ΠΌ Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ явно ΡƒΠΊΠ°Π·Ρ‹Π²Π°Ρ‚ΡŒ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Ρ‹ ΠΊΠΎΠ΄ΠΈΡ€ΠΎΠ²ΠΊΠΈ ΠΏΡ€ΠΈ Ρ„ΠΎΡ€ΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠΈ запроса. Π’ Π²Π΅Π±-прилоТСниях ΠΈ Π³ΠΈΠ±Ρ€ΠΈΠ΄Π½Ρ‹Ρ… Ρ„ΠΎΡ€ΠΌΠ°Ρ‚Π°Ρ… это Ρ€Π΅ΡˆΠ°Π΅Ρ‚ΡΡ Π·Π°Π³ΠΎΠ»ΠΎΠ²ΠΊΠ°ΠΌΠΈ, Π½ΠΎ Π² Π½Π°Ρ‚ΠΈΠ²Π½Ρ‹Ρ… ΠΌΠΎΠ±ΠΈΠ»ΡŒΠ½Ρ‹Ρ… прилоТСниях часто трСбуСтся Ρ€ΡƒΡ‡Π½ΠΎΠ΅ экранированиС ΡΠΏΠ΅Ρ†ΠΈΠ°Π»ΡŒΠ½Ρ‹Ρ… символов. ΠŸΡ€ΠΎΠ±Π΅Π»Ρ‹ Π΄ΠΎΠ»ΠΆΠ½Ρ‹ Π·Π°ΠΌΠ΅Π½ΡΡ‚ΡŒΡΡ Π½Π° %20, Π° символы Π½ΠΎΠ²ΠΎΠΉ строки \n β€” Π½Π° %0A, ΠΈΠ½Π°Ρ‡Π΅ структура письма Π±ΡƒΠ΄Π΅Ρ‚ Π½Π°Ρ€ΡƒΡˆΠ΅Π½Π°.

  • πŸ“© ВсСгда провСряйтС, Ρ‡Ρ‚ΠΎ Ρ‚Π΅ΠΌΠ° письма Π½Π΅ содСрТит символов, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΌΠΎΠ³ΡƒΡ‚ Π±Ρ‹Ρ‚ΡŒ ΠΈΠ½Ρ‚Π΅Ρ€ΠΏΡ€Π΅Ρ‚ΠΈΡ€ΠΎΠ²Π°Π½Ρ‹ ΠΊΠ°ΠΊ Ρ€Π°Π·Π΄Π΅Π»ΠΈΡ‚Π΅Π»ΠΈ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ΠΎΠ².
  • πŸ“© Π˜ΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠΉΡ‚Π΅ HTML-вСрстку Ρ‚Π΅Π»Π° письма Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Ссли Ρ†Π΅Π»Π΅Π²ΠΎΠΉ ΠΊΠ»ΠΈΠ΅Π½Ρ‚ Π³Π°Ρ€Π°Π½Ρ‚ΠΈΡ€ΠΎΠ²Π°Π½Π½ΠΎ ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°Π΅Ρ‚ Ρ€Π΅Π½Π΄Π΅Ρ€ΠΈΠ½Π³ HTML, ΠΈΠ½Π°Ρ‡Π΅ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒ ΡƒΠ²ΠΈΠ΄ΠΈΡ‚ Ρ‚Π΅Π³ΠΈ.
  • πŸ“© Для кирилличСских Π΄ΠΎΠΌΠ΅Π½ΠΎΠ² Π² адрСсах элСктронной ΠΏΠΎΡ‡Ρ‚Ρ‹ ΠΎΠ±ΡΠ·Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠΉΡ‚Π΅ Punycode ΠΊΠΎΠ΄ΠΈΡ€ΠΎΠ²ΠΊΡƒ.

ΠžΡ‚Π΄Π΅Π»ΡŒΠ½ΠΎΠ³ΠΎ внимания заслуТиваСт Ρ„ΠΎΡ€ΠΌΠ°Ρ‚ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅. ΠŸΡ€ΠΎΡΡ‚Ρ‹Π΅ тСкстовыС сообщСния часто выглядят сухо ΠΈ нСструктурированно. Π”ΠΎΠ±Π°Π²Π»Π΅Π½ΠΈΠ΅ Π±Π°Π·ΠΎΠ²ΠΎΠΉ HTML-Ρ€Π°Π·ΠΌΠ΅Ρ‚ΠΊΠΈ, Ρ‚Π°ΠΊΠΎΠΉ ΠΊΠ°ΠΊ ΠΆΠΈΡ€Π½Ρ‹ΠΉ ΡˆΡ€ΠΈΡ„Ρ‚ для ΠΊΠ»ΡŽΡ‡Π΅Π²Ρ‹Ρ… слов ΠΈΠ»ΠΈ списки, ΡƒΠ»ΡƒΡ‡ΡˆΠ°Π΅Ρ‚ восприятиС. Однако, ΠΊΠ°ΠΊ ΠΈ Π² случаС с ΠΊΠΎΠ΄ΠΈΡ€ΠΎΠ²ΠΊΠΎΠΉ, здСсь Π²Π°ΠΆΠ΅Π½ баланс: слоТная вСрстка с CSS-стилями Π² Π±ΠΎΠ»ΡŒΡˆΠΈΠ½ΡΡ‚Π²Π΅ ΠΏΠΎΡ‡Ρ‚ΠΎΠ²Ρ‹Ρ… ΠΊΠ»ΠΈΠ΅Π½Ρ‚ΠΎΠ² Π±ΡƒΠ΄Π΅Ρ‚ ΠΏΡ€ΠΎΠΈΠ³Π½ΠΎΡ€ΠΈΡ€ΠΎΠ²Π°Π½Π° ΠΈΠ»ΠΈ ΠΎΡ‚ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½Π° Π½Π΅ΠΊΠΎΡ€Ρ€Π΅ΠΊΡ‚Π½ΠΎ.

πŸ’‘

ΠŸΠ΅Ρ€Π΅Π΄ ΠΎΡ‚ΠΏΡ€Π°Π²ΠΊΠΎΠΉ письма с кирилличСским тСкстом протСстируйтС Π΅Π³ΠΎ Π½Π° устройствС с установлСнным английским языком интСрфСйса β€” это Π»ΡƒΡ‡ΡˆΠΈΠΉ способ Π²Ρ‹ΡΠ²ΠΈΡ‚ΡŒ ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΡ‹ с ΠΊΠΎΠ΄ΠΈΡ€ΠΎΠ²ΠΊΠΎΠΉ.

Π Π°Π±ΠΎΡ‚Π° с влоТСниями ΠΈ ΠΌΡƒΠ»ΡŒΡ‚ΠΈΠΌΠ΅Π΄ΠΈΠ°

ΠŸΠ΅Ρ€Π΅Π΄Π°Ρ‡Π° Π²Π»ΠΎΠΆΠ΅Π½ΠΈΠΉ β€” самая уязвимая Ρ‡Π°ΡΡ‚ΡŒ процСсса формирования исходящСго письма Π²Π½ΡƒΡ‚Ρ€ΠΈ прилоТСния. ΠœΠ΅Ρ…Π°Π½ΠΈΠ·ΠΌΡ‹ Ρ€Π°Π±ΠΎΡ‚Ρ‹ с Ρ„Π°ΠΉΠ»Π°ΠΌΠΈ Π½Π° Android ΠΈ iOS сущСствСнно Ρ€Π°Π·Π»ΠΈΡ‡Π°ΡŽΡ‚ΡΡ ΠΈΠ·-Π·Π° ΠΏΠΎΠ»ΠΈΡ‚ΠΈΠΊΠΈ бСзопасности «пСсочницы». ΠŸΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ Π½Π΅ ΠΌΠΎΠΆΠ΅Ρ‚ просто Ρ‚Π°ΠΊ Π²Π·ΡΡ‚ΡŒ Ρ„Π°ΠΉΠ» ΠΈΠ· ΠΎΠ΄Π½ΠΎΠΉ ΠΏΠ°ΠΏΠΊΠΈ ΠΈ ΠΏΠ΅Ρ€Π΅Π΄Π°Ρ‚ΡŒ Π΅Π³ΠΎ Π² Π΄Ρ€ΡƒΠ³ΡƒΡŽ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡƒ Π±Π΅Π· ΡΠΏΠ΅Ρ†ΠΈΠ°Π»ΡŒΠ½ΠΎΠ³ΠΎ Ρ€Π°Π·Ρ€Π΅ΡˆΠ΅Π½ΠΈΡ ΠΈΠ»ΠΈ использования FileProvider.

На ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΠ΅ Android ΠΏΠΎΠΏΡ‹Ρ‚ΠΊΠ° ΠΏΠ΅Ρ€Π΅Π΄Π°Ρ‚ΡŒ ΠΏΡƒΡ‚ΡŒ ΠΊ Ρ„Π°ΠΉΠ»Ρƒ Π½Π°ΠΏΡ€ΡΠΌΡƒΡŽ Π² ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Π°Ρ… ΠΈΠ½Ρ‚Π΅Π½Ρ‚Π° часто ΠΏΡ€ΠΈΠ²ΠΎΠ΄ΠΈΡ‚ ΠΊ ошибкС SecurityException. НСобходимо ΠΎΠ±ΠΎΡ€Π°Ρ‡ΠΈΠ²Π°Ρ‚ΡŒ URI Ρ„Π°ΠΉΠ»Π°, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ Π²Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Π΅ Ρ€Π°Π·Ρ€Π΅ΡˆΠ΅Π½ΠΈΡ ΠΈ ΡΠ»Π΅Π΄ΠΈΡ‚ΡŒ Π·Π° Ρ‚Π΅ΠΌ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ Ρ‚ΠΈΠΏ MIME-Π΄Π°Π½Π½Ρ‹Ρ… Π±Ρ‹Π» ΡƒΠΊΠ°Π·Π°Π½ ΠΊΠΎΡ€Ρ€Π΅ΠΊΡ‚Π½ΠΎ. НапримСр, ΠΈΠ·ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅ Π΄ΠΎΠ»ΠΆΠ½ΠΎ ΠΈΠΌΠ΅Ρ‚ΡŒ Ρ‚ΠΈΠΏ image/jpeg, Π° Π½Π΅ просто file.

ΠŸΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΠ° ΠœΠ΅Ρ…Π°Π½ΠΈΠ·ΠΌ ΠΏΠ΅Ρ€Π΅Π΄Π°Ρ‡ΠΈ Π›ΠΈΠΌΠΈΡ‚ Ρ€Π°Π·ΠΌΠ΅Ρ€Π° (Ρ‚ΠΈΠΏΠΈΡ‡Π½Ρ‹ΠΉ) Риски
Android ContentProvider / FileProvider Зависит ΠΎΡ‚ ΠΊΠ»ΠΈΠ΅Π½Ρ‚Π° (часто Π΄ΠΎ 25 Мб) Ошибки доступа, сброс Ρ€Π°Π·Ρ€Π΅ΡˆΠ΅Π½ΠΈΠΉ
iOS UIDocumentInteractionController ΠžΠ³Ρ€Π°Π½ΠΈΡ‡Π΅Π½ΠΎ ΠΏΠ°ΠΌΡΡ‚ΡŒΡŽ устройства ΠΠ΅ΡΡ‚Π°Π±ΠΈΠ»ΡŒΠ½ΠΎΡΡ‚ΡŒ ΠΏΡ€ΠΈ Π±ΠΎΠ»ΡŒΡˆΠΈΡ… Ρ„Π°ΠΉΠ»Π°Ρ…
Web (PWA) mailto + Base64 (Π½Π΅ рСкомСндуСтся) ΠžΡ‡Π΅Π½ΡŒ ΠΌΠ°Π» (Π΄ΠΎ 1-2 Мб) ΠžΠ±Ρ€Π΅Π·Π°Π½ΠΈΠ΅ Π΄Π°Π½Π½Ρ‹Ρ…, битая ΠΊΠΎΠ΄ΠΈΡ€ΠΎΠ²ΠΊΠ°

БущСствуСт распространСнноС Π·Π°Π±Π»ΡƒΠΆΠ΄Π΅Π½ΠΈΠ΅, Ρ‡Ρ‚ΠΎ ΠΌΠΎΠΆΠ½ΠΎ ΠΏΠ΅Ρ€Π΅Π΄Π°Ρ‚ΡŒ Ρ„Π°ΠΉΠ» Ρ‡Π΅Ρ€Π΅Π· ΠΎΠ±Π»Π°Ρ‡Π½ΠΎΠ΅ Ρ…Ρ€Π°Π½ΠΈΠ»ΠΈΡ‰Π΅, просто вставив ссылку Π² Ρ‚Π΅Π»ΠΎ письма. Π­Ρ‚ΠΎ Π΄Π΅ΠΉΡΡ‚Π²ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΡ‚ ограничСния Ρ€Π°Π·ΠΌΠ΅Ρ€Π° Π²Π»ΠΎΠΆΠ΅Π½ΠΈΠΉ, Π½ΠΎ Ρ‚Ρ€Π΅Π±ΡƒΠ΅Ρ‚ ΠΏΡ€Π΅Π΄Π²Π°Ρ€ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΠΉ Π·Π°Π³Ρ€ΡƒΠ·ΠΊΠΈ Ρ„Π°ΠΉΠ»Π° Π½Π° сСрвСр, Ρ‡Ρ‚ΠΎ ΡƒΠ²Π΅Π»ΠΈΡ‡ΠΈΠ²Π°Π΅Ρ‚ врСмя оТидания ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Ρ ΠΈ расход Ρ‚Ρ€Π°Ρ„ΠΈΠΊΠ°. Π’ случаях, ΠΊΠΎΠ³Π΄Π° Π½ΡƒΠΆΠ½Π° мгновСнная ΠΎΡ‚ΠΏΡ€Π°Π²ΠΊΠ° Π»ΠΎΠ³ΠΎΠ² с устройства, этот ΠΌΠ΅Ρ‚ΠΎΠ΄ Π½Π΅ ΠΏΠΎΠ΄Ρ…ΠΎΠ΄ΠΈΡ‚.

Π§Ρ‚ΠΎ Π΄Π΅Π»Π°Ρ‚ΡŒ, Ссли Π²Π»ΠΎΠΆΠ΅Π½ΠΈΠ΅ Π½Π΅ прикрСпляСтся?

Если стандартный ΠΌΠ΅Ρ…Π°Π½ΠΈΠ·ΠΌ Π½Π΅ Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚, ΠΏΠΎΠΏΡ€ΠΎΠ±ΡƒΠΉΡ‚Π΅ ΡƒΠΌΠ΅Π½ΡŒΡˆΠΈΡ‚ΡŒ Ρ€Π°Π·ΠΌΠ΅Ρ€ Ρ„Π°ΠΉΠ»Π° ΠΈΠ»ΠΈ ΠΈΠ·ΠΌΠ΅Π½ΠΈΡ‚ΡŒ Π΅Π³ΠΎ Ρ„ΠΎΡ€ΠΌΠ°Ρ‚. Часто ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΠ° кроСтся Π² Ρ‚ΠΎΠΌ, Ρ‡Ρ‚ΠΎ ΠΏΠΎΡ‡Ρ‚ΠΎΠ²Ρ‹ΠΉ ΠΊΠ»ΠΈΠ΅Π½Ρ‚ Π½Π΅ ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°Π΅Ρ‚ Ρ‚ΠΈΠΏ Ρ„Π°ΠΉΠ»Π°, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ пытаСтся ΠΎΡ‚ΠΏΡ€Π°Π²ΠΈΡ‚ΡŒ ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅. Π’Π°ΠΊΠΆΠ΅ ΠΏΡ€ΠΎΠ²Π΅Ρ€ΡŒΡ‚Π΅, Π½Π΅ Π±Π»ΠΎΠΊΠΈΡ€ΡƒΠ΅Ρ‚ Π»ΠΈ антивирус ΠΏΠ΅Ρ€Π΅Π΄Π°Ρ‡Ρƒ Π΄Π°Π½Π½Ρ‹Ρ….

ΠžΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠ° ошибок ΠΈ Π»ΠΎΠ³ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ процСссов

Π”Π°ΠΆΠ΅ идСально написанный ΠΊΠΎΠ΄ ΠΌΠΎΠΆΠ΅Ρ‚ ΡΡ‚ΠΎΠ»ΠΊΠ½ΡƒΡ‚ΡŒΡΡ с внСшними Ρ„Π°ΠΊΡ‚ΠΎΡ€Π°ΠΌΠΈ: отсутствиСм ΠΏΠΎΡ‡Ρ‚ΠΎΠ²ΠΎΠ³ΠΎ ΠΊΠ»ΠΈΠ΅Π½Ρ‚Π°, ΠΏΠ΅Ρ€Π΅ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ΠΌ памяти ΠΈΠ»ΠΈ сСтСвыми ошибками Π½Π° сторонС сСрвСра. Π˜ΡΡ…ΠΎΠ΄ΡΡ‰Π΅Π΅ письмо ΠΌΠΎΠΆΠ΅Ρ‚ Π·Π°ΡΡ‚Ρ€ΡΡ‚ΡŒ Π² ΠΎΡ‡Π΅Ρ€Π΅Π΄ΠΈ ΠΈΠ»ΠΈ ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ ΠΌΠΎΠΆΠ΅Ρ‚ просто Β«Π²Ρ‹Π»Π΅Ρ‚Π΅Ρ‚ΡŒΒ» ΠΏΡ€ΠΈ ΠΏΠΎΠΏΡ‹Ρ‚ΠΊΠ΅ ΠΏΠ΅Ρ€Π΅ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΡ контСкста. ΠšΡ€ΠΈΡ‚ΠΈΡ‡Π΅ΡΠΊΠΈ Π²Π°ΠΆΠ½ΠΎ Π²Π½Π΅Π΄Ρ€ΠΈΡ‚ΡŒ систСму ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ ΠΈΡΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠΉ, которая ΠΎΡ‚Π»ΠΎΠ²ΠΈΡ‚ эти ситуации.

Π›ΠΎΠ³ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ Π΄ΠΎΠ»ΠΆΠ½ΠΎ Π½Π°Ρ‡ΠΈΠ½Π°Ρ‚ΡŒΡΡ с ΠΌΠΎΠΌΠ΅Π½Ρ‚Π° наТатия ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Π΅ΠΌ ΠΊΠ½ΠΎΠΏΠΊΠΈ ΠΎΡ‚ΠΏΡ€Π°Π²ΠΊΠΈ. НСобходимо Ρ„ΠΈΠΊΡΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ: сформирован Π»ΠΈ URI, ΠΏΠ΅Ρ€Π΅Π΄Π°Π½ Π»ΠΈ ΠΈΠ½Ρ‚Π΅Π½Ρ‚ систСмС, Π²Ρ‹Π±Ρ€Π°Π½ Π»ΠΈ ΠΏΠΎΡ‡Ρ‚ΠΎΠ²Ρ‹ΠΉ ΠΊΠ»ΠΈΠ΅Π½Ρ‚ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Π΅ΠΌ. Если ΠΏΠΎΡ‡Ρ‚ΠΎΠ²ΠΎΠ΅ ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ Π½Π΅ Π½Π°ΠΉΠ΄Π΅Π½ΠΎ, систСма Π΄ΠΎΠ»ΠΆΠ½Π° ΠΏΡ€Π΅Π΄Π»ΠΎΠΆΠΈΡ‚ΡŒ Π°Π»ΡŒΡ‚Π΅Ρ€Π½Π°Ρ‚ΠΈΠ²Ρƒ, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, ΠΊΠΎΠΏΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ тСкста Π² Π±ΡƒΡ„Π΅Ρ€ ΠΎΠ±ΠΌΠ΅Π½Π° ΠΈΠ»ΠΈ ΠΎΡ‚ΠΏΡ€Π°Π²ΠΊΡƒ Ρ‡Π΅Ρ€Π΅Π· Π²ΡΡ‚Ρ€ΠΎΠ΅Π½Π½ΡƒΡŽ Π²Π΅Π±-Ρ„ΠΎΡ€ΠΌΡƒ.

  • πŸ›‘οΈ Π Π΅Π°Π»ΠΈΠ·ΡƒΠΉΡ‚Π΅ Ρ‚Π°ΠΉΠΌΠ°ΡƒΡ‚Ρ‹ оТидания ΠΎΡ‚Π²Π΅Ρ‚Π° ΠΎΡ‚ ΠΏΠΎΡ‡Ρ‚ΠΎΠ²ΠΎΠ³ΠΎ ΠΊΠ»ΠΈΠ΅Π½Ρ‚Π°, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ Π½Π΅ зависало Π² ΠΎΠΆΠΈΠ΄Π°Π½ΠΈΠΈ.
  • πŸ›‘οΈ БохраняйтС Ρ‡Π΅Ρ€Π½ΠΎΠ²ΠΈΠΊ письма локально ΠΏΠ΅Ρ€Π΅Π΄ ΠΏΠΎΠΏΡ‹Ρ‚ΠΊΠΎΠΉ ΠΏΠ΅Ρ€Π΅Π΄Π°Ρ‡ΠΈ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ Π΄Π°Π½Π½Ρ‹Π΅ Π½Π΅ ΠΏΡ€ΠΎΠΏΠ°Π»ΠΈ ΠΏΡ€ΠΈ сбоС.
  • πŸ›‘οΈ АнализируйтС ΠΊΠΎΠ΄Ρ‹ Π²ΠΎΠ·Π²Ρ€Π°Ρ‚Π°, Ссли ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌΡ‹ΠΉ API прСдоставляСт Ρ‚Π°ΠΊΡƒΡŽ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ, для понимания ΠΏΡ€ΠΈΡ‡ΠΈΠ½Ρ‹ ΠΎΡ‚ΠΊΠ°Π·Π°.

ОсобоС Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅ слСдуСт ΡƒΠ΄Π΅Π»ΠΈΡ‚ΡŒ сцСнариям, ΠΊΠΎΠ³Π΄Π° ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒ ΠΏΡ€Π΅Ρ€Ρ‹Π²Π°Π΅Ρ‚ процСсс ΠΎΡ‚ΠΏΡ€Π°Π²ΠΊΠΈ. Если ΠΎΠ½ ΠΎΡ‚ΠΊΡ€Ρ‹Π» ΠΎΠΊΠ½ΠΎ создания письма, Π½ΠΎ Π½Π°ΠΆΠ°Π» Β«ΠžΡ‚ΠΌΠ΅Π½Π°Β», ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ Π΄ΠΎΠ»ΠΆΠ½ΠΎ ΠΊΠΎΡ€Ρ€Π΅ΠΊΡ‚Π½ΠΎ Π·Π°Π²Π΅Ρ€ΡˆΠΈΡ‚ΡŒ сСссию ΠΈ ΠΎΡ‡ΠΈΡΡ‚ΠΈΡ‚ΡŒ Π²Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Π΅ Ρ„Π°ΠΉΠ»Ρ‹, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΌΠΎΠ³Π»ΠΈ Π±Ρ‹Ρ‚ΡŒ созданы для Π²Π»ΠΎΠΆΠ΅Π½ΠΈΠΉ. НакоплСниС Ρ‚Π°ΠΊΠΎΠ³ΠΎ мусора со Π²Ρ€Π΅ΠΌΠ΅Π½Π΅ΠΌ ΠΏΡ€ΠΈΠ²ΠΎΠ΄ΠΈΡ‚ ΠΊ Ρ€Π°Π·Π΄ΡƒΠ²Π°Π½ΠΈΡŽ кэша прилоТСния.

⚠️ Π’Π½ΠΈΠΌΠ°Π½ΠΈΠ΅: Никогда Π½Π΅ Ρ…Ρ€Π°Π½ΠΈΡ‚Π΅ Ρ‡ΡƒΠ²ΡΡ‚Π²ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹Π΅ Π΄Π°Π½Π½Ρ‹Π΅ (ΠΏΠ°Ρ€ΠΎΠ»ΠΈ, Ρ‚ΠΎΠΊΠ΅Π½Ρ‹) Π² Ρ‚Π΅Π»Π΅ письма ΠΈΠ»ΠΈ Π² Π»ΠΎΠ³Π°Ρ… ΠΎΡ‚Π»Π°Π΄ΠΊΠΈ, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΌΠΎΠ³ΡƒΡ‚ Π±Ρ‹Ρ‚ΡŒ ΠΎΡ‚ΠΏΡ€Π°Π²Π»Π΅Π½Ρ‹ вмСстС с ΠΎΡ‚Ρ‡Π΅Ρ‚ΠΎΠΌ ΠΎΠ± ошибкС. Π­Ρ‚ΠΎ прямая ΡƒΠ³Ρ€ΠΎΠ·Π° бСзопасности Π΄Π°Π½Π½Ρ‹Ρ… ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Ρ.

ΠŸΡ€ΠΎΠ±Π»Π΅ΠΌΡ‹ совмСстимости ΠΈ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΡΠΊΠΈΠΉ ΠΎΠΏΡ‹Ρ‚

ЀрагмСнтация устройств ΠΈ вСрсий ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΎΠ½Π½Ρ‹Ρ… систСм создаСт ΡƒΠ½ΠΈΠΊΠ°Π»ΡŒΠ½Ρ‹Π΅ challenges для Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠΎΠ². Π’ΠΎ, Ρ‡Ρ‚ΠΎ Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚ Π½Π° послСднСм iPhone, ΠΌΠΎΠΆΠ΅Ρ‚ вСсти сСбя нСпрСдсказуСмо Π½Π° Π±ΡŽΠ΄ΠΆΠ΅Ρ‚Π½ΠΎΠΌ Android-смартфонС Ρ‚Ρ€Π΅Ρ…Π»Π΅Ρ‚Π½Π΅ΠΉ давности. Π Π°Π·Π»ΠΈΡ‡Π½Ρ‹Π΅ ΠΏΠΎΡ‡Ρ‚ΠΎΠ²Ρ‹Π΅ ΠΊΠ»ΠΈΠ΅Π½Ρ‚Ρ‹ ΠΏΠΎ-Ρ€Π°Π·Π½ΠΎΠΌΡƒ ΠΈΠ½Ρ‚Π΅Ρ€ΠΏΡ€Π΅Ρ‚ΠΈΡ€ΡƒΡŽΡ‚ стандарты, игнорируя ΠΎΠ΄Π½ΠΈ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Ρ‹ ΠΈ Π½Π΅ΠΏΡ€Π°Π²ΠΈΠ»ΡŒΠ½ΠΎ обрабатывая Π΄Ρ€ΡƒΠ³ΠΈΠ΅.

ΠŸΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΡΠΊΠΈΠΉ ΠΎΠΏΡ‹Ρ‚ (UX) страдаСт, ΠΊΠΎΠ³Π΄Π° процСсс ΠΎΡ‚ΠΏΡ€Π°Π²ΠΊΠΈ прСрываСтся Π±Π΅Π· объяснСния ΠΏΡ€ΠΈΡ‡ΠΈΠ½. Если послС наТатия ΠΊΠ½ΠΎΠΏΠΊΠΈ Β«ΠžΡ‚ΠΏΡ€Π°Π²ΠΈΡ‚ΡŒΒ» Π½ΠΈΡ‡Π΅Π³ΠΎ Π½Π΅ происходит, ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒ Π΄ΡƒΠΌΠ°Π΅Ρ‚, Ρ‡Ρ‚ΠΎ ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ сломано. НСобходимо ΠΎΠ±Π΅ΡΠΏΠ΅Ρ‡ΠΈΠ²Π°Ρ‚ΡŒ Π²ΠΈΠ·ΡƒΠ°Π»ΡŒΠ½ΡƒΡŽ ΠΎΠ±Ρ€Π°Ρ‚Π½ΡƒΡŽ связь: ΠΈΠ½Π΄ΠΈΠΊΠ°Ρ‚ΠΎΡ€Ρ‹ Π·Π°Π³Ρ€ΡƒΠ·ΠΊΠΈ, сообщСния ΠΎΠ± успСхС ΠΈΠ»ΠΈ понятныС описания ошибок, Ссли письмо Π½Π΅ ΡƒΠ΄Π°Π»ΠΎΡΡŒ ΡΡ„ΠΎΡ€ΠΌΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ.

ВСстированиС Π΄ΠΎΠ»ΠΆΠ½ΠΎ ΠΏΡ€ΠΎΠ²ΠΎΠ΄ΠΈΡ‚ΡŒΡΡ Π½Π° ΡˆΠΈΡ€ΠΎΠΊΠΎΠΌ ΠΏΠ°Ρ€ΠΊΠ΅ устройств. ОсобоС Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅ стоит ΡƒΠ΄Π΅Π»ΠΈΡ‚ΡŒ устройствам с нСстандартными Ρ€Π°Π·Ρ€Π΅ΡˆΠ΅Π½ΠΈΡΠΌΠΈ экранов ΠΈ кастомными ΠΎΠ±ΠΎΠ»ΠΎΡ‡ΠΊΠ°ΠΌΠΈ, Ρ‚Π°ΠΊΠΈΠΌΠΈ ΠΊΠ°ΠΊ MIUI ΠΈΠ»ΠΈ OneUI, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΌΠΎΠ³ΡƒΡ‚ ΠΈΠΌΠ΅Ρ‚ΡŒ агрСссивныС настройки энСргосбСрСТСния, Π±Π»ΠΎΠΊΠΈΡ€ΡƒΡŽΡ‰ΠΈΠ΅ Ρ„ΠΎΠ½ΠΎΠ²Ρ‹Π΅ процСссы ΠΏΠ΅Ρ€Π΅ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΡ ΠΌΠ΅ΠΆΠ΄Ρƒ прилоТСниями.

β˜‘οΈ ΠŸΡ€ΠΎΠ²Π΅Ρ€ΠΊΠ° ΠΏΠ΅Ρ€Π΅Π΄ Ρ€Π΅Π»ΠΈΠ·ΠΎΠΌ

Π’Ρ‹ΠΏΠΎΠ»Π½Π΅Π½ΠΎ: 0 / 1

ΠΠ»ΡŒΡ‚Π΅Ρ€Π½Π°Ρ‚ΠΈΠ²Π½Ρ‹Π΅ ΠΌΠ΅Ρ‚ΠΎΠ΄Ρ‹ ΠΈ Π±ΡƒΠ΄ΡƒΡ‰ΠΈΠ΅ Ρ‚Π΅Π½Π΄Π΅Π½Ρ†ΠΈΠΈ

Π’ эпоху ΠΎΠ±Π»Π°Ρ‡Π½Ρ‹Ρ… Ρ‚Π΅Ρ…Π½ΠΎΠ»ΠΎΠ³ΠΈΠΉ классичСская схСма Β«ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ β†’ ΠΏΠΎΡ‡Ρ‚ΠΎΠ²Ρ‹ΠΉ ΠΊΠ»ΠΈΠ΅Π½Ρ‚ β†’ сСрвСр» постСпСнно ΡƒΡ…ΠΎΠ΄ΠΈΡ‚ Π² ΠΏΡ€ΠΎΡˆΠ»ΠΎΠ΅ для критичСски Π²Π°ΠΆΠ½Ρ‹Ρ… ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΉ. Π‘ΠΎΠ²Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Π΅ прилоТСния всС Ρ‡Π°Ρ‰Π΅ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‚ ΠΏΡ€ΡΠΌΡƒΡŽ ΠΎΡ‚ΠΏΡ€Π°Π²ΠΊΡƒ Ρ‡Π΅Ρ€Π΅Π· SMTP ΠΈΠ»ΠΈ API ΠΏΠΎΡ‡Ρ‚ΠΎΠ²Ρ‹Ρ… сСрвисов (Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, SendGrid, Mailgun) Π½Π° бэкСндС. Π­Ρ‚ΠΎ позволяСт ΠΏΠΎΠ»Π½ΠΎΡΡ‚ΡŒΡŽ ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ процСсс, Π³Π°Ρ€Π°Π½Ρ‚ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ доставку ΠΈ Π½Π΅ Π·Π°Π²ΠΈΡΠ΅Ρ‚ΡŒ ΠΎΡ‚ настроСк устройства ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Ρ.

ИспользованиС сСрвСрной ΠΎΡ‚ΠΏΡ€Π°Π²ΠΊΠΈ Ρ‚Π°ΠΊΠΆΠ΅ Ρ€Π΅ΡˆΠ°Π΅Ρ‚ ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΡƒ Π²Π»ΠΎΠΆΠ΅Π½ΠΈΠΉ любого Ρ€Π°Π·ΠΌΠ΅Ρ€Π° ΠΈ Ρ„ΠΎΡ€ΠΌΠ°Ρ‚Π°. ΠŸΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ просто отправляСт JSON-запрос с Π΄Π°Π½Π½Ρ‹ΠΌΠΈ Π½Π° сСрвСр, Π° сСрвСр Π±Π΅Ρ€Π΅Ρ‚ Π½Π° сСбя всю Π³Ρ€ΡΠ·Π½ΡƒΡŽ Ρ€Π°Π±ΠΎΡ‚Ρƒ ΠΏΠΎ Ρ„ΠΎΡ€ΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΡŽ MIME-сообщСния ΠΈ Π΅Π³ΠΎ ΠΏΠ΅Ρ€Π΅Π΄Π°Ρ‡Π΅. ЕдинствСнный минус β€” Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎΡΡ‚ΡŒ наличия ΠΈΠ½Ρ‚Π΅Ρ€Π½Π΅Ρ‚-соСдинСния Π² ΠΌΠΎΠΌΠ΅Π½Ρ‚ ΠΎΡ‚ΠΏΡ€Π°Π²ΠΊΠΈ, Ρ‚ΠΎΠ³Π΄Π° ΠΊΠ°ΠΊ стандартный mailto позволяСт ΠΎΡ‚Π»ΠΎΠΆΠΈΡ‚ΡŒ ΠΎΡ‚ΠΏΡ€Π°Π²ΠΊΡƒ Π΄ΠΎ появлСния сСти.

Π‘ΡƒΠ΄ΡƒΡ‰Π΅Π΅ Π·Π° Π³ΠΈΠ±Ρ€ΠΈΠ΄Π½Ρ‹ΠΌΠΈ модСлями, Π³Π΄Π΅ ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ ΠΈΠ½Ρ‚Π΅Π»Π»Π΅ΠΊΡ‚ΡƒΠ°Π»ΡŒΠ½ΠΎ Π²Ρ‹Π±ΠΈΡ€Π°Π΅Ρ‚ ΠΌΠ΅Ρ‚ΠΎΠ΄ доставки. Если ΡΠ΅Ρ‚ΡŒ ΡΡ‚Π°Π±ΠΈΠ»ΡŒΠ½Π° ΠΈ трСбуСтся Π½Π°Π΄Π΅ΠΆΠ½ΠΎΡΡ‚ΡŒ β€” ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ API. Если сСти Π½Π΅Ρ‚ ΠΈΠ»ΠΈ Π½ΡƒΠΆΠ½Π° максимальная простота β€” ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ Π½Π°Ρ‚ΠΈΠ²Π½Ρ‹ΠΉ ΠΊΠ»ΠΈΠ΅Π½Ρ‚. Π“ΠΈΠ±ΠΊΠΎΡΡ‚ΡŒ ΠΈ Π°Π΄Π°ΠΏΡ‚ΠΈΠ²Π½ΠΎΡΡ‚ΡŒ становятся ΠΊΠ»ΡŽΡ‡Π΅Π²Ρ‹ΠΌΠΈ Ρ„Π°ΠΊΡ‚ΠΎΡ€Π°ΠΌΠΈ качСства исходящСй ΠΊΠΎΠΌΠΌΡƒΠ½ΠΈΠΊΠ°Ρ†ΠΈΠΈ.

πŸ’‘

ΠŸΡ€ΡΠΌΠ°Ρ сСрвСрная ΠΎΡ‚ΠΏΡ€Π°Π²ΠΊΠ° Ρ‡Π΅Ρ€Π΅Π· API обСспСчиваСт ΠΌΠ°ΠΊΡΠΈΠΌΠ°Π»ΡŒΠ½ΡƒΡŽ Π½Π°Π΄Π΅ΠΆΠ½ΠΎΡΡ‚ΡŒ ΠΈ ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»ΡŒ, Π½ΠΎ Ρ‚Ρ€Π΅Π±ΡƒΠ΅Ρ‚ постоянного ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΡ ΠΊ ΠΈΠ½Ρ‚Π΅Ρ€Π½Π΅Ρ‚Ρƒ, Π² ΠΎΡ‚Π»ΠΈΡ‡ΠΈΠ΅ ΠΎΡ‚ Π½Π°Ρ‚ΠΈΠ²Π½Ρ‹Ρ… ΠΊΠ»ΠΈΠ΅Π½Ρ‚ΠΎΠ² ΠΏΠΎΡ‡Ρ‚Ρ‹.

ΠŸΠΎΡ‡Π΅ΠΌΡƒ письмо Π½Π΅ открываСтся Π² Π½ΡƒΠΆΠ½ΠΎΠΌ ΠΌΠ½Π΅ ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΈ?

ΠžΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΎΠ½Π½Π°Ρ систСма Π²Ρ‹Π±ΠΈΡ€Π°Π΅Ρ‚ ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ ΠΏΠΎ ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ. Π§Ρ‚ΠΎΠ±Ρ‹ ΠΈΠ·ΠΌΠ΅Π½ΠΈΡ‚ΡŒ это, Π½ΡƒΠΆΠ½ΠΎ Π·Π°ΠΉΡ‚ΠΈ Π² настройки систСмы, Π½Π°ΠΉΡ‚ΠΈ Ρ€Π°Π·Π΄Π΅Π» Β«ΠŸΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ ΠΏΠΎ ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽΒ» ΠΈΠ»ΠΈ Β«ΠžΡ‚ΠΊΡ€Ρ‹Ρ‚ΠΈΠ΅ ссылок» ΠΈ Π²Ρ‹Π±Ρ€Π°Ρ‚ΡŒ Π½ΡƒΠΆΠ½Ρ‹ΠΉ ΠΏΠΎΡ‡Ρ‚ΠΎΠ²Ρ‹ΠΉ ΠΊΠ»ΠΈΠ΅Π½Ρ‚ для ΠΏΡ€ΠΎΡ‚ΠΎΠΊΠΎΠ»Π° mailto.

МоТно Π»ΠΈ ΠΎΡ‚ΠΏΡ€Π°Π²ΠΈΡ‚ΡŒ письмо Π±Π΅Π· открытия ΠΏΠΎΡ‡Ρ‚ΠΎΠ²ΠΎΠ³ΠΎ ΠΊΠ»ΠΈΠ΅Π½Ρ‚Π°?

Π”Π°, это Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ ΠΏΡ€ΠΈ использовании прямой сСрвСрной ΠΎΡ‚ΠΏΡ€Π°Π²ΠΊΠΈ Ρ‡Π΅Ρ€Π΅Π· API Π²Π½ΡƒΡ‚Ρ€ΠΈ прилоТСния. Π‘Ρ‚Π°Π½Π΄Π°Ρ€Ρ‚Π½Ρ‹ΠΉ ΠΌΠ΅Ρ‚ΠΎΠ΄ mailto всСгда Ρ‚Ρ€Π΅Π±ΡƒΠ΅Ρ‚ подтвСрТдСния ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Π΅ΠΌ Π² интСрфСйсС ΠΏΠΎΡ‡Ρ‚ΠΎΠ²ΠΎΠΉ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹.

Какой ΠΌΠ°ΠΊΡΠΈΠΌΠ°Π»ΡŒΠ½Ρ‹ΠΉ Ρ€Π°Π·ΠΌΠ΅Ρ€ влоТСния поддСрТиваСтся Ρ‡Π΅Ρ€Π΅Π· mailto?

Π‘Ρ‚Ρ€ΠΎΠ³ΠΎΠ³ΠΎ стандарта Π½Π΅Ρ‚, всС зависит ΠΎΡ‚ ΠΏΠΎΡ‡Ρ‚ΠΎΠ²ΠΎΠ³ΠΎ ΠΊΠ»ΠΈΠ΅Π½Ρ‚Π° ΠΈ ОБ. ΠžΠ±Ρ‹Ρ‡Π½ΠΎ бСзопасным ΠΏΡ€Π΅Π΄Π΅Π»ΠΎΠΌ считаСтся 10-20 Мб, Π½ΠΎ Π»ΡƒΡ‡ΡˆΠ΅ ΠΎΡ€ΠΈΠ΅Π½Ρ‚ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒΡΡ Π½Π° 5 Мб для максимальной совмСстимости.

БСзопасно Π»ΠΈ ΠΏΠ΅Ρ€Π΅Π΄Π°Π²Π°Ρ‚ΡŒ Π»ΠΎΠ³ΠΈ ошибок Ρ‡Π΅Ρ€Π΅Π· стандартноС письмо?

НСт, Ссли Π² Π»ΠΎΠ³Π°Ρ… содСрТится ΠΏΠ΅Ρ€ΡΠΎΠ½Π°Π»ΡŒΠ½Π°Ρ информация ΠΈΠ»ΠΈ ΠΏΡƒΡ‚ΠΈ ΠΊ Ρ„Π°ΠΉΠ»ΠΎΠ²ΠΎΠΉ систСмС. Π”Π°Π½Π½Ρ‹Π΅ Π΄ΠΎΠ»ΠΆΠ½Ρ‹ Π±Ρ‹Ρ‚ΡŒ ΠΏΡ€Π΅Π΄Π²Π°Ρ€ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ Π°Π½ΠΎΠ½ΠΈΠΌΠΈΠ·ΠΈΡ€ΠΎΠ²Π°Π½Ρ‹ ΠΈ ΠΎΡ‚Ρ„ΠΈΠ»ΡŒΡ‚Ρ€ΠΎΠ²Π°Π½Ρ‹ ΠΏΠ΅Ρ€Π΅Π΄ Ρ„ΠΎΡ€ΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ΠΌ исходящСго сообщСния.