ই-মেইল ঠিকানার বৈধতা কতক্ষণ নেওয়া উচিত?


101

আমি ভাবছি যে কতদূর লোকদের ই-মেইল ঠিকানার বৈধতা নেওয়া উচিত। আমার ক্ষেত্রটি প্রাথমিকভাবে ওয়েব-বিকাশ, তবে এটি যে কোনও জায়গায় প্রযোজ্য।

আমি কয়েকটি পন্থা দেখেছি:

  • কোনও "@" উপস্থিত আছে কিনা তা যাচাই করে দেখছি, এটি মৃত সহজ তবে অবশ্যই এটি নির্ভরযোগ্য নয়।
  • স্ট্যান্ডার্ড ই-মেইল ফর্ম্যাটগুলির জন্য আরও জটিল রেগেক্স পরীক্ষা
  • আরএফসি ২৮২২ এর বিরুদ্ধে একটি পুরো রেজেক্স - এর সাথে সমস্যাটি হ'ল প্রায়শই কোনও ই-মেইল ঠিকানা বৈধ হতে পারে তবে ব্যবহারকারীর অর্থ সম্ভবত এটি নয়
  • ডিএনএসের বৈধতা
  • এসএমটিপি বৈধতা

যেহেতু অনেকেই জানেন (তবে অনেকেই জানেন না), ইমেল ঠিকানাগুলিতে অনেকগুলি অদ্ভুত ভিন্নতা থাকতে পারে যা বেশিরভাগ লোকেরা সাধারণত বিবেচনা করে না (দেখুন আরএফসি 2822 3.4.1 ) তবে আপনাকে লক্ষ্যগুলি নিয়ে ভাবতে হবে আপনার বৈধতা: আপনি কি নিশ্চিত হয়ে চেষ্টা করছেন যে কোনও ঠিকানায় কোনও ইমেল বার্তা প্রেরণ করা যেতে পারে, বা ব্যবহারকারী সম্ভবত এটিই বোঝাতে চেয়েছিলেন (যা অন্যথায় বৈধের অনেক বেশি অস্পষ্ট ক্ষেত্রে সম্ভাব্য নয়) 'ঠিকানা)।

একটি বিকল্প যা আমি বিবেচনা করেছি তা হল আরও বেশি রহস্যজনক ঠিকানা সহ একটি সতর্কতা দেওয়া কিন্তু তবুও অনুরোধটি প্রবেশের অনুমতি দেওয়া, তবে এটি কোনও ফর্মের আরও জটিলতা যুক্ত করে এবং বেশিরভাগ ব্যবহারকারীদের বিভ্রান্ত হওয়ার সম্ভাবনা রয়েছে।

ডিএনএসের বৈধতা / এসএমটিপি যাচাইকরণটি কোনও মস্তিষ্কের মত মনে হলেও, আমি এমন সমস্যাগুলির আগে থেকেই ধারণা পেয়েছি যেখানে ডিএনএস সার্ভার / এসএমটিপি সার্ভার অস্থায়ীভাবে ডাউন আছে এবং কোনও ব্যবহারকারী কোথাও নিবন্ধন করতে অক্ষম, বা ব্যবহারকারীর এসএমটিপি সার্ভার প্রয়োজনীয় বৈশিষ্ট্যগুলি সমর্থন করে না।

এখানে কিছু অভিজ্ঞ বিকাশকারী কীভাবে এটি পরিচালনা করতে পারেন? আমি তালিকাভুক্ত ছাড়া অন্য কোন পন্থা আছে?

সম্পাদনা করুন: আমি একটি কনফার্মেশন ই-মেইল প্রেরণে সবার মধ্যে সম্পূর্ণ স্পষ্টভাবে ভুলে গেছি! এটিকে নির্দেশ করার জন্য উত্তরদাতাদের ধন্যবাদ। হ্যাঁ, এটি একদম নির্বোধ, তবে এতে জড়িত প্রত্যেকের পক্ষে অতিরিক্ত ঝামেলা দরকার। ব্যবহারকারীর কিছু ইমেল আনতে হবে, এবং বিকাশকারীকে বৈধ হিসাবে নিশ্চিত হওয়ার আগে তাদের ব্যবহারকারীর ডেটা মনে রাখা দরকার।


ব্যক্তিগতভাবে আমি ঠিকানাটির মালিকানা নিশ্চিত করতে একটি ইমেল অনুসরণ করে ডাবল রেজেক্স ওয়ার্ন এবং প্রত্যাখ্যান কৌশল নিয়ে যাব।
জেমস স্নেল

বড় প্রশ্নটি হল আপনি কোন উদ্দেশ্যটির জন্য জিজ্ঞাসা করছেন তা জিজ্ঞাসা করা। উদাহরণস্বরূপ, আপনি যদি ব্যবহারকারীকে একটি বৈধতা ইমেল প্রেরণ করতে চলেছেন তবে খুব সাধারণ চেকই যথেষ্ট হবে, কারণ সম্ভবত ব্যবহারকারী একটি বৈধ ঠিকানা দেওয়ার জন্য অনুপ্রাণিত।
এসডসোলার

উত্তর:


80

ব্যবহারকারীদের ইমেল পাঠানো এবং বেশিরভাগ ফোরামের মতো প্রতিক্রিয়ার জন্য অপেক্ষা করা ছাড়া বৈধ ইমেল ঠিকানা নিশ্চিত করার কোনও 100% নির্ভরযোগ্য উপায় নেই।

আমি সাধারণ "@" বৈধতা রুল দিয়ে যাব এবং তারপরে তাদের ইমেল ঠিকানাটি নিশ্চিত করতে ব্যবহারকারীকে ইমেল করব।

যদিও এটি আমার ব্যক্তিগত মতামত ... আমি অন্যান্য পরামর্শের জন্য অপেক্ষা করছি।


6
সম্পূর্ণ একমত. হয় আপনি সেই ঠিকানাটির বিষয়ে সত্যই যত্নশীল, বা আপনি তা করেন না। অর্ধ যত্ন নেওয়ার জন্য কোনও যুক্তি দেখছি না।
বেনজল

3
এখন পর্যন্ত সেরা উত্তর। @ যাচাই করুন তারপরে ঠিকানাটি যাচাই করুন (একটি ইমেল সহ) - সেখানে সূক্ষ্ম পার্থক্য।
বিলি.বব

... এজন্য বেশিরভাগ ফোরামই তাই করে।
ড্যান রে

আমি @ বিলি বব এর সাথে একমত, যে যাচাইকরণ ইমেলের পরে একটি সাধারণ বৈধতা যাচাই করা ইমেলটি সঠিক তা প্রমাণ করার সবচেয়ে কার্যকর উপায়।
এসডসোলার

একটি "বৈধ" ইমেল ঠিকানাটি ভুল ব্যক্তির কাছেও যেতে পারে সুতরাং একটি বৈধতা ইমেলটি নিশ্চিত হওয়ার একমাত্র উপায়। প্রতি বছর আমি তাদের মধ্যে কয়েকটি পেয়েছি যখন কেউ আমার নিজের ইমেল ঠিকানাটি ভুল টাইপ করে।
axl

57

একটি পরামর্শ: এগুলির মধ্যে ঠিকানা সহ ঠিকানাগুলি প্রত্যাখ্যান করবেন না। এগুলি প্রত্যাখ্যান করা বিরক্তিকরভাবে সাধারণ, তবে এটি একটি বৈধ চরিত্র এবং Gmail ব্যবহারকারীরা ইনকামিং মেইলকে আরও সহজে লেবেল এবং সাজানোর জন্য ঠিকানা +label@gmail.com ব্যবহার করতে পারেন।


8
+1 !!! সমস্ত সাইটের ফেসবুক থেকে ইমেলগুলি ফিল্টার করা অসম্ভব বলে মনে হচ্ছে!
jnylen

এটি ছাড়াই ফিল্টার করতে পারে - কেবল প্রেরকের তথ্য ব্যবহারকারীর
কেসব্যাশ

1
GMail এটিকে অন্য মেল সার্ভার থেকে তুলেছে। আমি বিশ্বাস করি কিমেল এবং পোস্টফিক্স এটিকে জনপ্রিয় করেছে।

23
যদিও আমি অনুভূতির সাথে একমত, এটি এমনকি প্রশ্নের উত্তর দেওয়া শুরু করে না।
ব্রায়ান ওকলে

29

আপনার পোস্টে মনে হচ্ছে আপনি যখন "এসএমটিপি বৈধতা" বলছেন তখন আপনি বোঝাচ্ছেন সার্ভারের সাথে সংযোগ স্থাপন এবং কোনও গ্রহণযোগ্য কিনা তা দেখার জন্য কোনও আরসিপিটি চেষ্টা করার চেষ্টা করছেন। যেহেতু আপনি এটিকে আসলে একটি নিশ্চিতকরণ ইমেল প্রেরণ থেকে আলাদা করেন, তাই আমি ধরে নিয়েছি আপনি এটি ব্যবহারকারীর ক্রিয়াকলাপের সাথে ইনলাইন করতে চান। নেটওয়ার্ক ইস্যু, ডিএনএস ব্যর্থতা ইত্যাদির মতো সমস্যা ছাড়াও ধূসর তালিকাগুলি এই পদ্ধতির মাধ্যমে সর্বনাশ করতে পারে। পদ্ধতির ভিন্নতা রয়েছে, তবে মূলত ধূসর তালিকা সর্বদা আইপি সংযোগকারী প্রতি প্রাপককে সরবরাহ করার প্রথম প্রচেষ্টাটিকে পিছিয়ে দেয়। যেমনটি আমি বলেছি, এটি পৃথক হতে পারে, কিছু হোস্ট প্রথম প্রয়াসে অবৈধ ঠিকানাগুলি প্রত্যাখ্যান করতে পারে এবং কেবল বৈধ ঠিকানাগুলি মুলতবি করতে পারে তবে বিভিন্ন বাস্তবায়নকে প্রোগ্রামগতভাবে সাজানোর কোনও নির্ভরযোগ্য উপায় নেই।

আপনি কেবলমাত্র নিশ্চিত হন যে কোনও ঠিকানা বৈধ কিনা এবং তার মালিকের দ্বারা জমা দেওয়া হয়েছে যারা সত্যই এটি চায় আপনার আবেদনটির জন্য এটি যাচাইকরণ ইমেল প্রেরণ is ঠিক আছে, যতক্ষণ না এটি স্প্যাম ফিল্টার না করে আমার অনুমান =)।


25

ইমেল বৈধতার জন্য একটি রেজেক্স ব্যবহার করার আরেকটি দুর্বলতা হ'ল সমস্ত অবৈধকে প্রত্যাখ্যান করার সময় সমস্ত বৈধ শীর্ষ-স্তরের ডোমেনগুলি ধরা প্রায় অসম্ভব ।

উদাহরণস্বরূপ, জেফ আতউডের জবাবের বুনিয়াদি ইমেল রেজেক্স:

\ B হল [এ-Z0-9 ._% -]। + + @ [এ-Z0-9 .-] [জেড] {2,4} \ খ

দুটি থেকে চারটি অক্ষরের যে কোনও টিএলডি গ্রহণ করবে। সুতরাং, উদাহরণস্বরূপ, .spam গ্রহণ করা হবে, কিন্তু। মিউসিয়াম এবং। ট্র্যাভেল (উভয় বৈধ টিএলডি) প্রত্যাখ্যান করা হবে।

আরও একটি কারণ কেবলমাত্র @ সন্ধান করা এবং একটি নিশ্চিতকরণ ইমেল প্রেরণ করা ভাল।


24

আন্তর্জাতিক ডোমেন নাম দিয়ে প্রায় সব কিছুই সম্ভব:

  • Håkan.Söderström@malmö.se
  • punnycode@XN--0ZWM56D.XN--HGBK6AJ7F53BBA
  • 试 @ 例子। 测试 .مثال.آزمایشی

আপনি যদি কোনও পরীক্ষা করতে চান তবে আপনাকে প্রথমে এটি পিউকোডে রূপান্তর করা উচিত।

পাইনকোড ছাড়া আপনার যা করা উচিত তা হ'ল সেখানে পরীক্ষা করা:

  • কমপক্ষে একজন @
  • স্থানীয় অংশে কমপক্ষে একটি চরিত্র
  • ডোমেন অংশে কমপক্ষে একটি বিন্দু
  • ডোমেনে অন্ততপক্ষে চারটি অক্ষর (ধরে নেওয়া যাক যে টিএলডে কারও কোনও ঠিকানা নেই, টিএলডি কমপক্ষে 2 টি অক্ষর রয়েছে)
function isEmail(address) {
    var pos = address.lastIndexOf("@");
    return pos > 0 && (address.lastIndexOf(".") > pos) && (address.length - pos > 4);
}

1
আপনি যদি প্যানিকোডে রূপান্তর করতে জাভাস্ক্রিপ্টটি ব্যবহার করতে চান তবে আপনি নীচের উত্তরে কোডটি ব্যবহার করতে পারেন: stackoverflow.com/questions/183485/…

সত্যই যথেষ্ট - তবে ইমেল ঠিকানার মতো এটি "চেহারা" নিশ্চিত হওয়ার একমাত্র উপায় নিশ্চিত হতে পারে @ চিহ্নটি।
এসডসোলার

19

আপনি কেবলমাত্র @ এবং এর মতো সাধারণ জিনিসগুলি যাচাই করার পক্ষে সেরা। জাভাস্ক্রিপ্টে এবং তারপরে তাদের ইমেলটিতে তাদের সত্যতা যাচাই করুন। যদি তারা তাদের অ্যাকাউন্ট যাচাই করে তবে আপনার নিজের কাছে একটি বৈধ ইমেল ঠিকানা রয়েছে। এইভাবে আপনি নিশ্চিতভাবে জানেন যে আপনার একটি কার্যকরী ঠিকানা রয়েছে এবং আপনাকে ফর্মটিতে খুব বেশি চালক হতে হবে না।


এটি একটি দুর্দান্ত সমাধান। এখানে একটি বিন্দুর পরে @ অনুসরণ করার জন্য একটি রেজিপেক্স দেওয়া হয়েছে:/.+@.+\..+/
ইভান মোরান

11

একটি মুক্ত-উত্স যাচাইকারী ব্যবহার করুন যা মিথ্যা নেতিবাচক দেয় না। আপনার জন্য জিরো প্রচেষ্টা এবং আপনার অ্যাপ্লিকেশনটির জন্য শক্তিশালী বৈধতা।

আমি এখন ক্যাল হেন্ডারসন, ডেভ চাইল্ড, ফিল হ্যাক, ডগ লাভল এবং আরএফসি থেকে 3696 পরীক্ষার কেস সংগ্রহ করেছি all সব মিলিয়ে ১৫৮ টি পরীক্ষার ঠিকানা।

আমি খুঁজে পেতে পারে এমন সমস্ত বৈধকারীর বিরুদ্ধে এই সমস্ত পরীক্ষা চালিয়েছি। তুলনাটি এখানে: http://www.dominicsayers.com/isemail

লোকেরা তাদের যাচাইকারীদের বাড়ায় আমি এই পৃষ্ঠাটি আপ টু ডেট রাখার চেষ্টা করব। ক্যাল, ডেভ এবং ফিলকে এই পরীক্ষাগুলি সংকলন করতে এবং আমার নিজের বৈধকারীর গঠনমূলক সমালোচনা করার ক্ষেত্রে তাদের সহযোগিতা ও সহযোগিতার জন্য ধন্যবাদ জানাই

বিশেষত আরএফসি 3696 এর বিপরীতে জনগণের ত্রুটি সম্পর্কে সচেতন হওয়া উচিত । ক্যানোনিকাল উদাহরণগুলির মধ্যে তিনটি প্রকৃতপক্ষে অবৈধ ঠিকানা। এবং কোনও ঠিকানার সর্বোচ্চ দৈর্ঘ্য 254 বা 256 অক্ষর নয় 320।


তুলনার লিঙ্কটি নিচে :(
জিরো 3

10

উত্তরগুলি থেকে বিবেচনা করে (যেহেতু আমি নিশ্চিতকরণের ইমেলগুলি সম্পূর্ণরূপে ভুলে গিয়েছি) মনে হচ্ছে এটি একটি কম-ঘর্ষণ সমাধানের জন্য উপযুক্ত সমঝোতার মতো হবে:

  1. ই-মেইল ঠিকানাটি বৈধ বলে মনে হচ্ছে কিনা তা পরীক্ষা করার জন্য রিজেক্স ব্যবহার করুন এবং এটি যদি আরও অস্পষ্ট হয় তবে সতর্কতা দিন তবে সরাসরি প্রত্যাখ্যান এড়িয়ে চলুন।
  2. ইমেল ঠিকানাটি বৈধ কিনা তা নিশ্চিত করতে এসএমটিপি বৈধতা ব্যবহার করুন।
  3. যদি এসএমটিপি বৈধতা ব্যর্থ হয় - এবং কেবল তখনই - একটি শেষ রিসোর্ট হিসাবে একটি নিশ্চিতকরণ ইমেল ব্যবহার করুন। নিশ্চিত ই-মেইলগুলি আপনার আবেদনের বাইরে কম ঘর্ষণ হিসাবে বিবেচিত হওয়ার জন্য খুব বেশি ইন্টারঅ্যাকশন প্রয়োজন বলে মনে হয় তবে সেগুলি একটি নিখুঁত ফলব্যাক।

1
আপনি কীভাবে নিশ্চিত করতে পারেন যে কোনও ব্যবহারকারী নিশ্চিতকরণ না পাঠিয়ে ইমেল ঠিকানাটির মালিকানাধীন? উদাহরণস্বরূপ, যাক তারা আপনার ইমেল ঠিকানাটি টাইপ করে। আপনি কি বিরক্ত হবেন না যে বিকাশকারী একটি নিশ্চিতকরণ ইমেল না দেওয়ার সিদ্ধান্ত নিয়েছে এবং সেইজন্য আপনার ঠিকানাটি জানেন এমন কাউকে আপনাকে তাদের সাইটে সাইন আপ করার অনুমতি দিয়েছে?
রূপার্ট ম্যাডেন-অ্যাবট

1
এসএমটিপি বৈধতা? ঠিকানাটি উপস্থিত থাকলে সার্ভারকে জিজ্ঞাসা করুন? স্প্যাম যে দীর্ঘ সময় আগে মুক্তি পেয়েছে।

6

RegexBuddy এর লাইব্রেরি থেকে নিম্নলিখিত ইমেল সম্পর্কিত নিয়মিত অভিব্যক্তি সরবরাহ করে:

ইমেল ঠিকানা (বেসিক)

\b[A-Z0-9._%+-]+@[A-Z0-9.-]+\.[A-Z]{2,4}\b

ইমেল ঠিকানা (আরএফসি 2822, সরলীকৃত)

[a-z0-9!#$%&'*+/=?^_`{|}~-]+(?:\.[a-z0-9!#$%&'*+/=?^_`{|}~-]+)*@(?:[a-z0-9](?:[a-z0-9-]*[a-z0-9])?\.)+[a-z0-9](?:[a-z0-9-]*[a-z0-9])?

তবে আমি পিটার এবং সুপারজয়ের প্রতিক্রিয়াগুলির সাথে একমত হতে চাই; একমাত্র আসল "টেস্টিং" আসলে একটি বৈধতা ইমেল প্রেরণ করা হয়।


1
আপনার প্রাথমিক ইমেল চেক যেমন জিনিস বিরুদ্ধে ব্যর্থ bob@mydivision.mycompany.com। আপনার এও বলা উচিত যে একটি কেস-সংবেদনশীল মিল দরকার কারণ আপনি কেবল উচ্চতর ক্ষেত্রে ASCII ব্যবহার করছেন।
আনপাইথোনিক

বড় হাতের অক্ষরকে কেন (দ্বিতীয় রেজেক্স সহ) প্রত্যাখ্যান করবেন? এমটিএ প্রাপ্তি পর্যন্ত স্থানীয় অংশের বৈধতা হওয়া উচিত নয়? সাদা স্পেস এবং কোট বাদে।
ডার্ক জ্যাকেল

@ ডার্ক চিহ্নিত হিসাবে চিহ্নিত হয়েছে, আপনি এই রেজেক্সটি চালানোর সময় "কেস সংবেদনশীল নয়" পতাকাটি প্রয়োগ করবেন apply
জেফ আতউড

বেশ কয়েকটি টিএলডি> ৪ টি চর রয়েছে বলে বেসিকটি ভাল হয় না। আমি এটিকে কেবল মিনিট 2, সর্বোচ্চ নয়{2,}
এক্রির্ক

4

আমি ৪ টি বিভিন্ন সংস্থায় কাজ করেছি যেখানে হেল্প ডেস্কের কেউ ও'ম্যালি বা ও'ব্রায়েন বা অ্যাডাস্ট্রোফের সাথে অন্য কোনও ইমেল ঠিকানা দিয়ে চিৎকার করেছিল। যেমন পূর্বে সুপারিশ করা হয়েছিল, সমস্ত রেইগেক্সেরাই সব কিছু ধরবে না, তবে নিজেকে কিছুটা ঝামেলা বাঁচাতে এবং কোনও সতর্কতা না দিয়েই কোনও অ্যাডোস্ট্রোফ গ্রহণ করুন।

-
বিএমবি


তথাস্তু যে. একইভাবে হ্যাশ চিহ্ন (#) এর জন্য যায়।
টমলাক

2
লোকের নামগুলিতে হ্যাশ চিহ্নগুলি না থাকায় এর অর্থ এই নয় যে তারা ইমেল ঠিকানাগুলিতে বৈধ নয়।
ডেভ শেরোহমান

3

আপনি যদি মেলবক্সের অস্তিত্ব থাকে তবে প্রকৃতপক্ষে পরীক্ষা করতে ইমেল বৈধতাটি আরও এগিয়ে নিতে পারেন। এই কৌশলটির ত্রুটি রয়েছে (উন্নয়নের সময় এবং অপব্যবহারের জন্য কালো তালিকাভুক্ত হওয়ার সম্ভাবনা)। http://www.webdigi.co.uk/blog/2009/how-to-check-if-an-email-address-exists-without-sending-an-email/


3

আপনি যদি কোনও ই-মেইল যাচাই করতে চান (যেমন নিশ্চিত করুন যে ব্যবহারকারী ইমেল ঠিকানাটির মালিকানাধীন) তবে একটি নিশ্চিতকরণ ইমেলই আপনি করতে পারেন thing তারপরে আবার অনেক লোক স্প্যাম-ঠিকানাগুলি নিবেদিত করেছে বা ওয়ানওয়েমেলের মতো পরিষেবাগুলি ব্যবহার করে এবং যদি তারা আপনাকে তাদের প্রকৃত ইমেল ঠিকানা দিতে না চায় তবে তারা তা করবে না। সুতরাং মূলত আপনি ব্যবহারকারীর বাধা তৈরি করছেন।

বৈধতার বিষয়টি যখন আসে , তা নিশ্চিত করার জন্য, ব্যবহারকারী অনিচ্ছাকৃতভাবে কোনও ভুল ই-মেইল ঠিকানা ইনপুট করে না, এটি অবশ্যই সঠিক প্রেরণা। তবে, অন্তত এইচটিএমএল ফর্মগুলির জন্য (যা এখনও ই-মেইল ঠিকানা সংগ্রহের সর্বাধিক সাধারণ উপায়), এটি খুব সম্ভবত সঠিক উপকরণ।

একটির জন্য, আপনি ইমেল ঠিকানার আসল "শব্দ" তে টাইপগুলি সনাক্ত করতে পারবেন না। back2dso@example.comসম্পূর্ণরূপে ফরম্যাটের ভিত্তিতে আপনার কাছে ভুলটি খুঁজে বের করার কোনও উপায় নেই ।
তবে আরও গুরুত্বপূর্ণ বিষয় হল, ব্যবহারকারীর দৃষ্টিকোণ থেকে আপনি সম্ভবত প্রবেশ করতে পারেন এমন ইমেল ঠিকানাগুলির একটি মাত্র (বা একটি হাত পূর্ণ) রয়েছে। এবং আপনি সম্ভবত এটি ইতিমধ্যে প্রবেশ করেছে।
সুতরাং কোনও ঠিকানাকে বৈধতা দেওয়ার চেষ্টা করার পরিবর্তে, আপনার ব্রাউজারগুলি ইমেল ক্ষেত্রটি স্বীকৃতি দেয় এবং এর ফলে প্রথমে ইমেল ঠিকানাটি টাইপ করার প্রয়োজনীয়তা দূর করে তা নিশ্চিত করার দিকে আপনার নজর দেওয়া উচিত। অবশ্যই এটি প্রযোজ্য নয়, যদি আপনি এমন ধরণের সাইট তৈরি করে থাকেন যা ব্যবহারকারীদের দ্বারা হিট হওয়ার সম্ভাবনা রয়েছে যা তাদের ব্রাউজারে এর আগে কখনও তাদের ই-মেইল ঠিকানা প্রবেশ করেনি। তবে আমি মনে করি আমাদের মধ্যে সবচেয়ে কম লোক এমন অবস্থানে রয়েছে।


2

আমি মনে করি এটি আপনি কোন প্রসঙ্গে ইমেলটি ব্যবহার করছেন তার উপর নির্ভর করে। আরও গুরুতর প্রকল্পগুলির জন্য কঠোর বৈধতা প্রয়োজন তবে আমি মনে করি বেশিরভাগ জিনিসের জন্য একটি কনফর্মেশন লিঙ্কের সাথে প্রদত্ত ঠিকানায় ইমেল পাঠানো ইমেল ঠিকানাটি বৈধ কিনা তা নিশ্চিত করবে।


2

@ মাইক - আমি মনে করি কেন নিশ্চিতকরণ ইমেলগুলি প্রেরণের কারণের অংশটি কেবল ইমেল ঠিকানাটি বৈধ কিনা তা নিশ্চিত করার জন্য নয়, তবে এটি যে ব্যবহারকারী এটি জমা দিয়েছেন তার দ্বারা এটি অ্যাক্সেসযোগ্য। কোনও ব্যক্তি সহজেই ইমেল ঠিকানায় একটি-অক্ষরের টাইপো লিখতে পারে যা একটি ভিন্ন, বৈধ ইমেল ঠিকানা হতে পারে, তবে এটি এখনও ভুল হবে কারণ এটি ভুল ঠিকানা হবে।


2

ইমেল বৈধতার জন্য আমি সবচেয়ে সম্পূর্ণ এবং নির্ভুল রেইজেক্সের মুখোমুখি হলাম এখানে একটি ডকুমেন্টেড । এটা হৃদয়ের ভীরু জন্য নয়; এটি এত জটিল যে এটি অংশগুলিতে বিভক্ত হয়ে মানুষের পার্স করা সহজ করে তোলে (নমুনা কোডটি জাভাতে রয়েছে)। তবে যে সমস্ত ক্ষেত্রে যাচাইকরণের সাথে সমস্ত পদক্ষেপ নেওয়া যোগ্যতাযুক্ত, আমি মনে করি না এটি আরও ভাল হয়।

যাই হোক না কেন, আমি আপনাকে পরামর্শ দিচ্ছি যে আপনি ইউনিট টেস্টিং ব্যবহার করবেন তা নিশ্চিত করার জন্য আপনার অভিব্যক্তিটি যেগুলি গুরুত্বপূর্ণ বলে মনে করছেন সেগুলি আপনার কভার করে। এইভাবে, আপনি এটির সাথে প্রায় ডুবে যাবেন, আপনি নিশ্চিত হতে পারেন যে আপনি আগে কাজ করে এমন কোনও কেস ভাঙেন নি।


2

তোরা যে যা পছন্দ করে, আমি তোমাকে বিশ্বাস সময় 99%, ব্যবহারকারী যে পাশ ভুল প্রয়োজন মনে করেন আসলে জানেন তাদের ইমেল ঠিকানা কি। অস্ট্রেলিয়া থেকে কেউ হিসাবে, আমি এখনও খুব মাঝেমধ্যে একটি ওহ-চতুর ইমেল বৈধতা পাই যা আমাকে বলে যে আমার সম্ভবত একটি .com.au ডোমেন থাকতে পারে না। এটি ইন্টারনেটের প্রথম দিনগুলিতে আপনাকে আরও অনেক কিছু মনে হত you

এই দিনগুলিতে একটি নিশ্চিতকরণ ইমেল প্রেরণ ব্যবহারকারীদের কাছে গ্রহণযোগ্য এবং এটি তাদের সরবরাহ করা ঠিকানা বৈধকরণের পাশাপাশি অপ্ট-ইন-এর ক্ষেত্রেও কার্যকর।


2

আমি যে জায়গাগুলিতে কাজ করেছি সেগুলিতে বিকশিত কয়েকটি সাইটে আমরা সর্বদা নিশ্চিতকরণ ইমেল ব্যবহার করেছি have যাইহোক, ব্যবহারকারীদের পক্ষে তাদের ইমেল ঠিকানাটি ভুলভাবে টাইপ করা সম্ভব হয়েছিল যেগুলি সম্ভবত কাজ করতে পারে না, এবং তারপরে নিশ্চিতকরণের ইমেলটি অপেক্ষা করতে থাকবে যা আসবে না। এই ক্ষেত্রে ব্যবহারকারীকে সতর্ক করতে অ্যাড-হক কোড (বা, ডোমেন নাম অংশের জন্য, ডিএনএস যাচাইকরণ) যুক্ত করা ভাল ধারণা হতে পারে।

আমি যে সাধারণ ঘটনাগুলি দেখেছি:

  • ডোমেন নামের মাঝামাঝি একটি চিঠি বা অন্য কয়েকটি সাধারণ টাইপোর রূপগুলি ফেলে দেওয়া।
  • টিএলডি বিভ্রান্তি (উদাহরণস্বরূপ, .brএকটি .comডোমেনে একটি যুক্ত করা , বা .brএকটি .com.brডোমেন থেকে বাদ দেওয়া )।
  • একটি যোগ করার পদ্ধতি www.একটি ইমেল ঠিকানা স্থানীয় অংশ শুরুতে (আমি এই অভাবপূরণ নই; আমি দেখেছি বিভিন্ন ফর্ম ইমেল ঠিকানাগুলি www.username@example.com)।

আরও উদ্ভট ঘটনা ছিল; স্থানীয় অংশ হিসাবে একটি সম্পূর্ণ ডোমেন নাম মত জিনিস , দুটি @(যেমন কিছু username@domain.tld@example.com) সঙ্গে ঠিকানা , এবং আরও।

অবশ্যই, তাদের বেশিরভাগই এখনও বৈধ আরএফসি -822 ঠিকানা ছিল, সুতরাং প্রযুক্তিগতভাবে আপনি কেবল তাদের সাথে এমটিএ চুক্তি করতে পারেন। তবে ব্যবহারকারীকে সতর্ক করে দেওয়া যে প্রবেশ করা ইমেল ঠিকানাটি সম্ভবত বোগাসই সম্ভবত সহায়ক হতে পারে, বিশেষত যদি আপনার টার্গেট শ্রোতা খুব কম কম্পিউটার সাক্ষর না হয়।


এই সাইটগুলির সাথে সমস্যার মতো মনে হচ্ছে ব্যবহারকারীরা এমন তথ্য প্রবেশ করতে বাধ্য হয়েছিল যা তারা সত্যই বুঝতে পারে নি। সমস্ত সাইটের পক্ষে ব্যবহারকারীদের সাথে ই-মেইল যোগাযোগের প্রয়োজন হয় না, এমনকি এটি সাইটের জন্য জিনিসগুলিকে সহজ করে তোলে।
bzlm

2

বিশ্বের সমস্ত রেজেক্স বৈধতা কাউকে ভুল বা নকল ইমেল ঠিকানা প্রবেশ করতে বাধা দেবে না। এটা সত্যিই বিরক্তিকর।


আপনি কি কখনও ডিবিউন ইমেল বৈধকরণ সরঞ্জামটি ব্যবহার করে দেখেছেন ? আমি এই পরিষেবাটি একবার দেখে পরামর্শ দিই।
ইমান হেজাজি

2

লক্ষ্য উপর নির্ভর করে। যদি আপনি একজন আইএসপি হন এবং আপনার বৈধ ইমেল ঠিকানাগুলি ব্যবহারকারীরা তৈরি করছেন তা যাচাই করতে হবে, তবে রিজেক্সের জন্য যান যা সম্ভব সমস্ত কিছুর বিরুদ্ধে বৈধতা দেয়। আপনি যদি কেবল ব্যবহারকারীর ত্রুটিগুলি ধরতে চান তবে নিম্নলিখিত প্যাটার্নটি সম্পর্কে কীভাবে:

[সমস্ত অক্ষর, কোনও শূন্যস্থান নেই] @ [চিঠি এবং সংখ্যা] (। [অক্ষর এবং সংখ্যা]) যেখানে চূড়ান্ত গোষ্ঠী অন্তত এক বার উপস্থিত হয়।

এর জন্য RegEx এর মতো কিছু উপস্থিত হবে:

[\S]+@[\w]+(.[\w-]+)+

এবং তারপরে নিশ্চিত হওয়ার জন্য একটি নিশ্চিতকরণ ইমেল প্রেরণ করুন।


2
একটি টাইপো রয়েছে (যদি না আপনি কেবল "ডাব্লু" টিএলডি হিসাবে অনুমতি দিতে চান) এবং এটি হাইফেনের সাথে ডোমেনগুলির সাথে মেলে না (-)। এটি আরও ভাল কাজ করে: [\ এস] + @ [\ ডাব্লু -] + (। [[\ ডাব্লু -] +) +

1

@ ইয়াকভ (এখানে কিছু ধরণের 'জবাব' দিয়ে জবাব দিতে পারে)

আমি মনে করি যে কেন নিশ্চিতকরণ ইমেলগুলি প্রেরণ করা হয়েছে তার অংশটি কেবল ইমেল ঠিকানাটি বৈধ কিনা তা নিশ্চিত করার জন্য নয়, তবে এটি যে ব্যবহারকারী এটি জমা দিয়েছেন তার দ্বারা এটি অ্যাক্সেসযোগ্য। কোনও ব্যক্তি সহজেই ইমেল ঠিকানায় একটি-অক্ষরের টাইপো লিখতে পারে যা একটি ভিন্ন, বৈধ ইমেল ঠিকানা হতে পারে, তবে এটি এখনও ভুল হবে কারণ এটি ভুল ঠিকানা হবে।

আমি সম্মতি জানাই, তবে আমি নিশ্চিত নই যে এটির পক্ষে এটি উপযুক্ত। সেই উদ্দেশ্যে আমাদেরও নিশ্চিতকরণ ক্ষেত্র রয়েছে (আবার আপনার ইমেল ঠিকানাটি পুনরাবৃত্তি করা হচ্ছে)। আরেকটি পরিস্থিতি যেখানে সাইটের ধরণটি বিভিন্ন পদ্ধতির ওয়ারেন্ট দেয়।

অতিরিক্ত হিসাবে, একটি নিশ্চিতকরণ ইমেল নিজেই প্রেরণা মূল ব্যবহারকারীকে ইঙ্গিত দেওয়ার কোনও উপায় দেয় না যে তারা প্রবেশ করানো ঠিকানাটি ভুল ছিল। নিশ্চিত ইমেল না পাওয়ার পরে তারা কেবল আপনার অ্যাপ / সাইটটি ত্রুটিযুক্ত বলে ধরে নিতে পারে; কমপক্ষে ব্যবহারকারীকে তাদের অ্যাকাউন্টটি তাত্ক্ষণিকভাবে ব্যবহার শুরু করার অনুমতি দিয়ে তারা তাদের ইমেল ঠিকানাটি সংশোধন করতে পারে, বিশেষত যদি এটি যথাযথভাবে সুস্পষ্ট জায়গায় প্রদর্শিত হয়।


1

ভিন্ন ভিন্ন মানুষ ভিন্ন ভিন্ন জিনিস এর জন্য উপযোগী.

এগুলি সমস্ত বৈধ, সম্পূর্ণ ইমেল যাচাইকরণ সিস্টেমগুলিতে এবং নিজের মধ্যে এবং একটি প্রদত্ত ওয়েবসাইটের জন্য অন্যের চেয়ে উপযুক্ত (বা যথাযথ হিসাবে ভাল) হবে। অনেক ক্ষেত্রে যাচাইয়ের বেশ কয়েকটি পদক্ষেপ কার্যকর হতে পারে।

আপনি যদি কোনও ব্যাংকের জন্য কোনও ওয়েবসাইট বিকাশ করে থাকেন তবে এই সমস্তগুলির উপরে আপনি শামুক মেল বা ফোন যাচাইকরণ চাইবেন।

আপনি যদি কোনও প্রতিযোগিতার জন্য কোনও ওয়েবসাইট বিকাশ করছেন তবে আপনি সেগুলির মধ্যে কোনওটিই চাইবেন না - পোস্ট প্রসেসিংয়ে ইমেলগুলি যাচাই করুন এবং যদি এটি ব্যর্থ হয় তবে এটি প্রবেশ করানো ব্যক্তির পক্ষে খুব খারাপ - উদাহরণস্বরূপ টিভি প্রতিযোগিতা) প্রত্যেকে সঠিকভাবে ইনলাইনে বৈধতা পেয়েছে কিনা তা নিশ্চিত করার পরে।

ইমেল যাচাইকরণের কতদূর নেওয়া উচিত?

যতদূর প্রয়োজন এবং warranted।

এবং আর নেই (KISS)


1

আমি এমন সাইটগুলি দেখেছি যেগুলি মেলিনেটর বা মাই ট্র্যাশমাইলের মতো অস্থায়ী থ্রোওয়ে স্প্যাম বালতি সাইটগুলি ব্যবহার করে এমন লোকদের বিরুদ্ধেও সতর্কতা অবলম্বন করে যা নিশ্চিতকরণ ইমেল জিনিসটির আশেপাশে আসে। আমি বলছি না যে আপনি তাদের ফিল্টার করা উচিত, আমি শুধু বলছি।


কীভাবে এটি ইমেল নিশ্চিতকরণ "কাছাকাছি" যায়? মেলিনেটর এবং মাই ট্র্যাশমেল উভয়ই একই ঠিকানায় পরবর্তী মেলগুলি গ্রহণ করবে। যদি ব্যবহারকারী সেগুলি পরীক্ষা করতে বিরক্ত না করে তবে এটি অন্য গল্প।
bzlm

1

আপনি আপনার ইমেল বৈধতা ধরতে কী চেষ্টা করছেন?

ইমেল ঠিকানার রেগেক্স বৈধতা, সর্বোপরি, যাচাই করতে পারে যে ঠিকানাটি সিনট্যাক্টিকভাবে সঠিক এবং তুলনামূলকভাবে প্রশ্রয়যোগ্য। এতে রেজেক্সটি সঠিকভাবে না থাকলে সম্ভবত আসল, বিতরণযোগ্য ঠিকানাগুলি প্রত্যাখ্যান করার বিপত্তি (যেমন ইতিমধ্যে বহুবার উল্লেখ করা হয়েছে) রয়েছে।

এসএমটিপি যাচাইকরণ নির্ধারণ করতে পারে যে ঠিকানাটি গ্রিলিস্টিং বা সার্ভারগুলির দ্বারা আরোপিত সীমাবদ্ধতার সাপেক্ষে, যা তাদের ব্যবহারকারীদের সম্পর্কে যতটা সম্ভব কম তথ্য দেওয়ার জন্য কনফিগার করা হয়েছে। এমটিএ কেবল কোনও বোগাস ঠিকানার জন্য মেল স্বীকার করার দাবি করেছে কিনা তা জানার উপায় নেই, তবে স্প্যাম বিরোধী কৌশলটির অংশ হিসাবে এটি কেবল মেঝেতে ফেলে দেওয়া হয়েছে।

একটি নিশ্চিতকরণ বার্তা প্রেরণ করা, যাচাই করার একমাত্র উপায় হ'ল যে ঠিকানাটি এটি প্রবেশ করিয়েছে তার ব্যবহারকারীর অন্তর্ভুক্ত। আমি যদি আপনার ফর্মটি পূরণ করছি তবে আমি সহজেই আপনাকে বলতে পারি যে আমার ইমেল ঠিকানাটি president@whitehouse.gov। একটি রেইজেক্স আপনাকে বলবে এটি সিনট্যাক্টিক্যালি বৈধ, একটি এসএমটিপি আরসিপিটি আপনাকে বলতে হবে এটি একটি বিতরণযোগ্য ঠিকানা, তবে এটি নিশ্চিত যে জাহান্নাম আমার ঠিকানা নয়।


1

এইচটিএমএল 5 আসার সাথে সাথে কমপক্ষে একটি নতুন পদ্ধতির সম্ভাবনার সাথে যুক্ত করা হয়: টাইপ ' ইমেল ' এর ইনপুটটির ব্যবহার যা ক্লায়েন্টের পক্ষে বৈধতা দেয় । ফায়ারফক্স, ক্রোম, সাফারি এবং অপেরা-র বর্তমান সংস্করণগুলি এটি সমর্থন করে (এবং অন্যান্য ব্রাউজারগুলি কেবল এটি টাইপ = পাঠ্যের মতো আচরণ করে, যাতে এটি সমস্যা ছাড়াই ব্যবহার করা যেতে পারে তবে আপনার অবশ্যই বৈধতা নেই))

এটি কখনই (যেমন কয়েকবার নির্দেশিত) কোনও কার্যক্ষম ঠিকানার গ্যারান্টি দিতে পারে না তবে এটি সম্ভবত আপনাকে সম্ভবত ব্যবহারকারীর ত্রুটিগুলি ধরতে হবে এমন জায়গাগুলিতে খুব উপকারী হতে পারে (এবং শেষ পর্যন্ত সার্ভার সাইড চেকটি প্রতিস্থাপন করুন)।


<input type="email">এইচটিএমলেমেন্টের জন্য ফায়ারফক্স বাস্তবায়ন : dxr.mozilla.org/mozilla-central/source/dom/html/…
টিফন

0

ইমেল বৈধতার তিনটি প্রধান স্তর:

1) নিয়মিত এক্সপ্রেশনটি সঠিকভাবে ফর্ম্যাটেড ইমেল ঠিকানা ইমেল@email.com জন্য পরীক্ষা করুন

2) ইমেল ডোমেনটি এমএক্স রেকর্ডের বিপরীতে পরীক্ষা করে দেখুন যে ডোমেন নামের কোনও ইমেল পরিষেবা আছে কিনা

3) একটি নিশ্চিতকরণ লিঙ্ক বা কোড সহ একটি নিশ্চিতকরণ ইমেল প্রেরণ

স্তর 1:

ভিজ্যুয়াল স্টুডিওতে, আপনি "নিয়মিত এক্সপ্রেশন ভ্যালিডেটর" ব্যবহার করতে পারেন। এবং "বৈধতা এক্সপ্রেশন" বৈশিষ্ট্যে আপনি "..." বোতামটিতে ক্লিক করতে পারেন যা ইমেল ঠিকানার জন্য নিয়মিত প্রকাশের বিন্যাসে যুক্ত করার জন্য একটি উইজার্ড রয়েছে।

স্তর 2:

কোনও ইমেল ডোমেনের বৈধ এমএক্স রেকর্ড রয়েছে কিনা তা যাচাই করতে নীচে আমার সি # কোডটি এনএসলুপ ব্যবহার করুন। উইন 2008 আর 2 এবং উইন 7 এ দ্রুত এবং ঠিক আছে।

using System.Net.Mail;
using System.Diagnostics;

public static bool checkMXRecords(string email) 
    {
        MailAddress addr = new MailAddress(email);
        string domain = addr.Host;

        string command = "nslookup -querytype=mx " + domain;
        ProcessStartInfo procStartInfo = new ProcessStartInfo("cmd", "/c " + command);

        procStartInfo.RedirectStandardOutput = true;
        procStartInfo.UseShellExecute = false;

        procStartInfo.CreateNoWindow = true;

        Process proc = new Process();
        proc.StartInfo = procStartInfo;
        proc.Start();
        string result = proc.StandardOutput.ReadToEnd();

        if (result.ToLower().Contains("mail exchanger"))
        {
            return true;
        }
        else return false;

     } // checkMXRecords

অন্য বিকল্পটি হ'ল আর্সফটোলস নুগেট প্যাকেজটি ব্যবহার করা তবে উইন্ডোজ সার্ভার ২০০৮ আর 2 এ ধীর হতে পারে কারণ আমি অভিজ্ঞতা অর্জন করেছি তবে উইন on তে দ্রুত চালিত।

স্তর 3:

নিশ্চিতকরণ ইমেইল জন্য, আপনি পারেন একটি ইমেল নির্দিষ্ট হেক্স URL (এনক্রিপশন ফাংশন ব্যবহার করে) ইত্যাদি তৈরি করতে পারেন http://domain.com/validateEmail?code=abcd1234 যখন ব্যবহারকারী এটিকে ক্লিক ইমেল ঠিকানা যাচাই করতে। এই ইউআরএলটিকে স্মৃতিতে সঞ্চয় করার দরকার নেই।

আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.