1

Я пытаюсь создать несколько html-файлов, связанных с адресом электронной почты. Но так как «@» нельзя использовать в именах файлов, и во избежание путаницы я пытаюсь заменить его символом, который обычно не существует в адресе электронной почты.Ищет символ, который разрешен в именах файлов, но не разрешен в адресах электронной почты ... Любая подсказка?

Что-нибудь приходит в виду?

Спасибо!

+2

Вы также можете использовать схему кодировки, как например,% 64 –

ответ

2

Запятая и точка с запятой не допускаются в адресе электронной почты, но в именах файлов на большинстве файловых систем.

+0

Хорошая идея! но все еще не идеально:/en.wikipedia.org/wiki/Email_address#Local_part – Emilio

+1

Я вижу, но тогда у вас возникают проблемы с двойной цитатой. Я бы сделал то, что предлагается в комментарии к вашему вопросу, закодировать его. Используйте кодировку url, которая должна сделать допустимое имя файла в большинстве файловых систем, и легко изменить, просто расшифруйте его. –

+0

Да, я знаю, что я, вероятно, должен это сделать, но это слишком сложно для моих целей! Благодаря! – Emilio

1

Я считаю, что '~' используется для этой цели.

+0

Приятная идея! но все еще не идеально:/en.wikipedia.org/wiki/Email_address#Local_part – Emilio

+1

Я не могу перестать задаваться вопросом, зачем вам нужно создавать html-файлы. Похоже, что динамическая страница будет делать трюк. хотя я не знаю контекста, поэтому я мог ошибаться. – Nicky

+1

oops ...Я написал файлы «html», я имел в виду файлы «jpg». Но я думаю, что буду использовать ~, потому что ни один персонаж не идеален, и я просто искал быстрый и простой способ связать эти файлы с адресами электронной почты. Благодаря! – Emilio

1

Согласно ссылке здесь почти все символы ASCII разрешены в адресах электронной почты, пока специальные символы не находятся в начале или в конце.

What characters are allowed in an email address?

+0

Ужасно, но это правда, похоже, нет никакого идеального ответа на мой вопрос:/https://en.wikipedia.org/wiki/Email_address#Local_part – Emilio

1

Любой, (запятая); (полуколонна) <> (угловые скобки) [] (квадратные скобки) или «(двойная кавычка)) должны работать в большинстве случаев.

Поскольку эти символы разрешены в цитированных строках, вы можете заменить« @ »на последовательность, которая будет неверна, такими как три двойных кавычек подряд.

Согласно the RFC

в кавычках, любой ASCII графическая или пространство допускается без blackslash кавычки, за исключением двойной кавычки а обратная косая черта.

У вас может быть адрес электронной почты abc. "~~~" .def @ rst.xyz. Но вы не могли бы иметь abc. "" ". [email protected], это должно быть abc." \ "". [email protected] Таким образом, можно смело использовать «»»в качестве замены для @ в имени файла.

Однако RFC также говорит

Хотя приведенное выше определение локальной части относительно либеральны, для обеспечения максимальной совместимости, хост, который ожидает получить почту следует избегать почтовых ящиков, где локальная часть требует (или использует) форму Quoted-строку или где-Local часть прецедентного чувствительную.

с ДОЛЖНА meanin г «... что может существовать веские причины в особых обстоятельствах, когда конкретного поведения является приемлемым или даже полезно, но полные последствия следует понимать и дело тщательно взвешены перед внедрением ...» RFC2119

Итак, хотя «" »будет работать, есть ли шансы, что вы увидите письмо с котировками, стоящими за трудность проектирования для него? Если нет, используйте один из одиночных символов.

+0

Хорошая идея! но все еще не идеально:/en.wikipedia.org/wiki/Email_address#Local_part – Emilio

+1

Первоначальный вопрос был «обычно не существует». И ссылка на wikipedia гласит: «Несмотря на широкий спектр специальных символов, которые являются технически обоснованными, организации, почтовые службы, почтовые серверы и почтовые клиенты на практике часто не принимают их всех» – cmerriman

+0

Ответ обновлен. – cmerriman

Смежные вопросы