的RFC 5321,5322和6531有验证电子邮件地址复杂的规则.他们:
由于这些复杂的规则,根据RFC测试给定字符串是否是语法上有效的电子邮件地址不能仅使用正则表达式执行.
显然,主要电子邮件提供商不支持其中许多规则.
从历史上看,为电子邮件地址创建如此复杂的规则的动机是什么?在对电子邮件的起源维基百科的文章似乎意味着,从20世纪80年代早期的现代化标准旨在覆盖所有旧电子邮件十岁上下的系统用自己特定的标准和语法.
然而,标准,电子邮件提供商和电子邮件最终用户的实施者都对工作系统有既得利益,当规则不太晦涩并且可以轻松地转换为通过有限数量测试的软件时,这更容易实现,那么,为什么我们今天有一个如此复杂的标准,没有人完全使用它?
从历史上看,XML在很大程度上已被JSON取代,其成功部分归因于其语法的简单性.
我将 Django 2.0.10 与 rest 框架、rest-auth 和 allauth 一起使用,并带有 React 前端。Rest-auth 使用 JWT 令牌身份验证提供登录和注销功能,但我无法弄清楚如何允许用户请求重新发送验证电子邮件。
我希望用户能够登录并按下“重新发送确认电子邮件”按钮。例如,如果他们不小心删除了电子邮件,他们需要能够请求另一个。
我已经看到帖子建议您可以使用 allauth 的 send_email_confirmation,但这需要一个由模板生成的 CSRF 令牌。我尝试按照文档从 csrf 中排除,但它没有任何不同。我还尝试按照此处的建议设置 authentication_classes = () 。这是我的代码:
设置:
REST_FRAMEWORK = {
'DEFAULT_AUTHENTICATION_CLASSES': [
'rest_framework.authentication.TokenAuthentication',
],
}
Run Code Online (Sandbox Code Playgroud)
网址.py
from users.views import EmailConfirmation
urlpatterns = [
...
url(r'^/sendconfirmationemail/', EmailConfirmation.as_view(), name='send-email-confirmation')
]
Run Code Online (Sandbox Code Playgroud)
视图.py
from rest_framework.views import APIView
from django.views.decorators.csrf import csrf_exempt
from django.utils.decorators import method_decorator
class EmailConfirmation(APIView):
@method_decorator(csrf_exempt)
authentication_classes = ()
def post(self):
send_email_confirmation(user=self.request.user)
Run Code Online (Sandbox Code Playgroud)
当我发布到端点“/api/v1/rest-auth/sendconfirmationemail/”时,我收到错误禁止:
<p>You are seeing this …Run Code Online (Sandbox Code Playgroud) 我想要一个正则表达式,它将从String中提取电子邮件地址(使用Java正则表达式).
这确实有效.
我正在使用以下正则表达式
(".+@.+\\.[a-z]+")
Run Code Online (Sandbox Code Playgroud)
它接受#@#.com作为有效的电子邮件.我应该使用什么样的模式?
我是JavaScript的新手,在互联网上发现了这个JavaScript代码,用于验证给定的电子邮件(代码没有问题) -
<html>
<h2>Email Validation</h2>
<script language = "Javascript">
function checkEmail(emailId) {
if (/^\w+([\.-]?\w+)*@\w+([\.-]?\w+)*(\.\w{2,3})+$/.test(emailId)){
document.write("You have entered valid email.");
return true;
}
return false;
}
function ValidateEmail(){
var emailID=document.form.email;
if ((emailID.value==null)||(emailID.value=="")){
alert("Please Enter your Email ID")
emailID.focus()
return false
}
if (checkEmail(emailID.value)==false){
emailID.value=""
alert("Invalid Email Adderess");
emailID.focus()
return false
}
alert('valid');
return true
}
</script>
<form name="form" method="post" onSubmit="return ValidateEmail()">
Enter an Email Address : <input type="text" name="email" size="30"><br>
<input type="submit" name="Submit" value="Submit">
</form>
</html>
Run Code Online (Sandbox Code Playgroud)
我对代码没有任何问题,但我无法理解正则表达式的/^\w+([\.-]?\w+)*@\w+([\.-]?\w+)*(\.\w{2,3})+$/含义.我不明白正则表达式的每一部分是什么意思.请赐教.
我们的 QA 提交了一个错误,指出电子邮件地址的顶级域不能是一个字符。
foo@bar.z
Run Code Online (Sandbox Code Playgroud)
我很难研究标准。有人可以确认设置顶级域最小长度是否正确吗?
我是HTML5的新手......
这里我有一些电子邮件模式属性的问题...
1)如果我在电子邮件领域提供类似user@gmail.com的输入...
2)它不接受价值并显示"模式不匹配"..
帮我解决这个问题....
这是Html的片段
<form name='f1' method="POST" action="" >
<div id="fp">
<span style="margin-left:-50px">Email:</span>
<span><input class="input" type="email" name="Email" placeholder="Enter mailID" required pattern="^[A-Z0-9._%+-]+@[A-Z0-9.-]+\.[A-Z]{2,4}$" ></span><br>
<input type="submit" name="submit" value="submit">
</div>
</form>
Run Code Online (Sandbox Code Playgroud)
任何建议都可以接受....
我一直在尝试验证用户在我的程序中输入的电子邮件地址.我目前的代码是:
server = smtplib.SMTP()
server.connect()
server.set_debuglevel(True)
try:
server.verify(email)
except Exception:
return False
finally:
server.quit()
Run Code Online (Sandbox Code Playgroud)
但是,当我运行它时,我得到:
ConnectionRefusedError: [WinError 10061] No connection could be made because the target machine actively refused it
Run Code Online (Sandbox Code Playgroud)
所以我要问的是如何使用smtp模块验证电子邮件地址?我想检查电子邮件地址是否确实存在.
如何使用 swiftUI 完成电子邮件验证?
TextField("Please enter your e-mail", text: self.$email)
.modifier(ClearButton(text: $email))
.font(.headline)
.padding(10)
.foregroundColor(.black)
.background(Color.white)
.frame(width: 300, height: 40, alignment: .center)
.cornerRadius(20)
Run Code Online (Sandbox Code Playgroud) email-validation ×10
email ×4
regex ×4
java ×2
javascript ×2
django ×1
html-email ×1
html-input ×1
html5 ×1
ios ×1
open-source ×1
php ×1
python ×1
rfc5322 ×1
smtplib ×1
swift ×1
swiftui ×1
swiftui-form ×1
tld ×1