Кнопка "Открыть почту"

Задан 1 год назад
Просмотрен 11931 раз
0

Как создать кнопку, которая будет открывать в браузере сайт почтового сервиса?

Например,

email
Сделаем GetOverflow лучше!
Проголосуйте 🔼 за полезные или 🔽 за бесполезные ответы.
2 ответа
1

Добрый день Добавим на страницу кнопку, присвоим ей класс button_open_mail, а поле с адресом ссылки оставим пустым

Также размещаем на странице блок с html кодом и пишем так:

<script>
$(document).ready(function() {
        userEmail = '{email}';
	$(".button_open_mail button").click(function() {                
		if (userEmail) {
			var domain = userEmail.split('@')[1];
			var emailServiceURL = getEmailServiceURL(domain);

			if (emailServiceURL) {
				window.open(emailServiceURL, "_blank");
			} else {
				alert("Не удалось определить сервис для данной почты.");
			}
		}
	});

	function getEmailServiceURL(domain) {
		var emailServices = {
			"yandex.ru": "https://mail.yandex.ru",
			"ya.ru": "https://mail.yandex.ru",
			"gmail.com": "https://mail.google.com",
			"outlook.com": "https://outlook.live.com",
			"mail.ru": "https://mail.ru",
			"yahoo.com": "https://mail.yahoo.com",
			"aol.com": "https://mail.aol.com",
			"icloud.com": "https://icloud.com/mail",
			"zoho.com": "https://mail.zoho.com",
			"protonmail.com": "https://mail.protonmail.com",
			// Добавьте другие почтовые сервисы здесь
		};

		return emailServices[domain];
	}
});
</script>

В список почтовых сервисов можно добавить неограниченное кол-во других сервисов аналогичным образом

P.S. Можно, конечно, написать скрипт, чтобы не прописывать ссылки на все сервисы, чтобы прост брать из емейла домен и перекидывать по шаблону https://mail.{domain}. Но я не уверен, что прям все почтовые сервисы будут доступны по такому адресу

Если нужно будет пните, перепишу скрипт

Добрый вечер, Евгений. Это отличное решение, большое спасибо! Чтобы все заработало, в html блоке со скриптом еще активировал галочку "Заменять переменные пользователя" https://i.imgur.com/yTxJyAA.jpg.

Вариант с https://mail.{domain} интересный, но действительно работает не везде. Проверка такого адреса на трех сервисах привела к ошибке.

Марат Тимерзянов 1 год назад
0

Здравствуйте, Марат. Если ваш вопрос ещё актуален, то есть решение попроще. Возможно это именно то, что вам нужно.

Нужно зашить ссылку в картинку, текст или html-кнопку. Вид ссылки такой

<a href="mailto:info@example.ru">

По такой ссылке будет открываться почтовый сервис пользователя

Ваш ответ