전자 메일 주소가 시스템에 유효한지 확인합니다.넷.메일.메일주소
현재 잘못된 전자 메일 주소로 인해 오류가 발생하지 않도록 다음 작업을 수행합니다.
Dim mailAddress As MailAddress
Try
mailAddress = New MailAddress("testing@invalid@email.com")
Catch ex As Exception
'Invalid email
End Try
하지만, 의존하기 보다는.Try..Catch이메일 주소가 100% 유효하다는 것을 검증하는 방법이 있습니까?MailAddress유형?
저는 이메일을 검증하기 위한 정규식 기능이 많이 있다는 것을 알고 있지만, 저는 그 기능을 찾고 있습니다.MailAddresstype은 주소의 유효성을 검사하는 데 사용합니다.
불행히도, 없습니다.MailAddress.TryParse방법.
코드는 에서 전자 메일 주소를 확인하는 이상적인 방법입니다.그물.
최근에 .NET API가 MailAddress로 확장되었습니다.TryCreate 메소드는 향후 출시될 예정이며, 일반적인 TryCreate 보일러 플레이트가 필요하지 않을 것입니다. catch
지정된 이메일 주소가 IETF 표준에 따라 유효한지 확인해야 하는 경우 - 이 표준은MailAddress이 글을 쓸 때 수업은 부분적으로만 이어지는 것 같습니다. EmailVerify.NET, a를 살펴보시기를 제안합니다.솔루션에 쉽게 통합할 수 있는 NET 구성 요소.작업을 수행하기 위해 정규식에 의존하지 않고 내부 유한 상태 기계에 의존하기 때문에 매우 빠릅니다.
고지 사항:저는 이 부품의 리드 개발자입니다.
이 질문 자체에 대한 답변은 아니지만, 필요한 사람이 있을 경우 이 방법을 사용하여 이메일 주소를 확인하는 C# 기능을 작성했습니다.
FixEmailAddress("walter@xyz.com")
돌아온다"walter@xyz.com"
FixEmailAddress("wa@lter@xyz.com,tom@xyz.com,asdfdsf,vsav-sdfsd@xyz.xyz")
돌아온다"tom@xyz.com,vsav-sdfsd@xyz.xyz"
쉼표로 구분된 전자 메일 목록이 MailAddressCollection에 유효한 매개 변수이기 때문에 전자 메일 주소 목록을 이렇게 처리합니다.추가()
/// <summary>
/// Given a single email address, return the email address if it is valid, or empty string if invalid.
/// or given a comma delimited list of email addresses, return the a comma list of valid email addresses from the original list.
/// </summary>
/// <param name="emailAddess"></param>
/// <returns>Validated email address(es)</returns>
public static string FixEmailAddress(string emailAddress)
{
string result = "";
emailAddress = emailAddress.Replace(";",",");
if (emailAddress.Contains(","))
{
List<string> results = new List<string>();
string[] emailAddresses = emailAddress.Split(new char[] { ',' });
foreach (string e in emailAddresses)
{
string temp = FixEmailAddress(e);
if (temp != "")
{
results.Add(temp);
}
}
result = string.Join(",", results);
}
else
{
try
{
System.Net.Mail.MailAddress email = new System.Net.Mail.MailAddress(emailAddress);
result = email.Address;
}
catch (Exception)
{
result = "";
}
}
return result;
}
MS는 정규식 기반 전자 메일 검증자에 대한 코드도 제공합니다. https://msdn.microsoft.com/en-us/library/01escwtf%28v=vs.110%29.aspx?f=255&MSPPError=-2147217396
일부 문자는 일부 서비스 제공업체에서 사용할 수 있지만 다른 서비스 제공업체에서는 사용할 수 없습니다!그SmtpClient서비스 제공업체에 대해 아무것도 모릅니다.그래서 가능한 한 필터링을 해야 합니다.위키백과는 스탠다드에 대해 잘 언급되어 있습니다.
유효성 검사MailAddressMSDN에 언급되어 있습니다.따라서 초기화하기 전에 이러한 검증을 확인할 수 있다고 생각합니다.MailAddress.
언급URL : https://stackoverflow.com/questions/7027887/check-that-email-address-is-valid-for-system-net-mail-mailaddress
'programing' 카테고리의 다른 글
| 문자열에서 모든 utf-8이 아닌 기호 삭제 (0) | 2023.05.27 |
|---|---|
| 사용자 지정 컨테이너 환경 변수와 함께 Azure Webapp 배포 (0) | 2023.05.27 |
| python datetime.datetime을 일련 번호를 Excel로 변환하는 방법 (0) | 2023.05.27 |
| Windows용으로 좋은 grep 도구는 무엇입니까? (0) | 2023.05.27 |
| "2>&1"은 무엇을 의미합니까? (0) | 2023.05.27 |