সি # সহ জিমেইল এসএমটিপি সার্ভারের মাধ্যমে ইমেল প্রেরণ করা হচ্ছে


242

কোনও কারণে গ্রহণযোগ্য উত্তর বা অন্য কেউই আমার পক্ষে " জিমেইলের মাধ্যমে .NET- এ ইমেল প্রেরণের " জন্য কাজ করে না । কেন তারা কাজ করবে না?

আপডেট: আমি অন্যান্য প্রশ্নের সমস্ত উত্তর (স্বীকৃত এবং অন্যথায়) চেষ্টা করেছি, কিন্তু তাদের কোনওটিই কাজ করে না।

আমি কেবল এটি অন্য কারও জন্য কাজ করে কিনা তা জানতে চাই, অন্যথায় গুগল কিছু পরিবর্তন করেছে (যা আগে ঘটেছিল)।

আমি যে কোডটি ব্যবহার করে SmtpDeliveryMethod.Networkসেটির টুকরোটি চেষ্টা করে দেখলে আমি দ্রুত প্রেরণে (বার্তা) একটি শ্রীমতিপত্তি গ্রহণ করি। বার্তাটি হ'ল

এসএমটিপি সার্ভারের জন্য একটি সুরক্ষিত সংযোগ প্রয়োজন বা ক্লায়েন্টটি প্রমাণীকৃত হয়নি।

সার্ভারের প্রতিক্রিয়াটি ছিল:

5.5.1 প্রমাণীকরণ প্রয়োজনীয়। "<এ আরও শিখুন - গুরুত্ব সহকারে এটি এখানেই শেষ হয়।

হালনাগাদ:

এটি এমন একটি প্রশ্ন যা আমি বহুদিন আগে জিজ্ঞাসা করেছি এবং গ্রহণযোগ্য উত্তরটি হ'ল কোডটি আমি বিভিন্ন প্রকল্পে অনেকগুলি, বহুবার ব্যবহার করেছি।

আমি একজন তৈরি করতে এই পোস্ট এবং অন্যান্য EmailSender প্রকল্পে ধারণা কিছু গ্রহণ করেছি Codeplex এ EmailSender প্রকল্পের । এটি পরীক্ষার জন্য ডিজাইন করা হয়েছে এবং আমার প্রিয় এসএমটিপি পরিষেবাদি যেমন GoDaddy এবং Gmail সমর্থন করে।


আমি ভিন্ন ভাষায় অনুরূপ পদ্ধতি ব্যবহার করে এটি করার চেষ্টা করেছি। একই ধরণের জিনিসটির মুখোমুখি: পুরানো নথিভুক্ত পদ্ধতিগুলি যেগুলি আগে কাজ করে, আমার জন্য কাজ করে না। গুগল কিছু পরিবর্তন করেছে, বা আপনি যদি কিছু ভুল করে থাকেন তবে আপনি কী ভাবছেন left
অ্যারোনএলএস

2
@ অ্যারনলসকে কেবল সাম্প্রতিক পরিবর্তন 465 বন্দর সম্পর্কিত বলে মনে হচ্ছে। আমি সমাধানটি সন্ধান করার সময় এটি চেষ্টা করেছিলাম (আমি কেবল একই সাথে কাজ করছিলাম), এবং সার্বক্ষণিকভাবে 465 পোর্ট টাইমআউট। যদি এটি আপনার হয় তবে 587 বন্দর দিয়ে চেষ্টা করুন।
eglasius

2
এই সমস্যাটি "শব্দ যাচাইকরণ" (ক্যাপচা) কারণে। আপনি যদি হাত দিয়ে ওয়েব ইন্টারফেসের মাধ্যমে সাইন ইন করেন এবং ক্যাপচা পূরণ করেন তবে আপনার এসএমটিপি কাজ শুরু করবে।
রবার্ট কোরিটনিক

4
FWIW, আমার জন্য কাজ করে। আপনার 587 এবং .ESSableSSL টি সত্য ব্যবহার করা দরকার। সি # 4 /। নেট 4 টি বর্তমানে বিকল্প 465 / এসএসএল সমর্থন করে না। gmail অন্যান্য মেল ক্লায়েন্ট কনফিগার করার জন্য দাবি করে ।
জেরিলাওরি

1
@ ইগ্লাসিয়াসের উত্তর অনুসরণ করুন এবং Gmailকে আপনার অ্যাকাউন্টটি প্রমাণীকরণের অনুমতি দেওয়ার জন্য আপনি Gmail এ "কম সুরক্ষার অ্যাপ্লিকেশনগুলিকে মঞ্জুরি দিন" সেটিংস চালু করেছেন তা নিশ্চিত করুন।
ব্যবহারকারী 2713706

উত্তর:


290

সিভেরটেক্স, আপনার কোডটি পর্যালোচনা করার বিষয়টি নিশ্চিত করুন এবং যদি এটি কিছু প্রকাশ না করে তবে তা পোস্ট করুন। আমি এটি পরীক্ষার জন্য এএসপি.এনইটি সাইটে সবেমাত্র সক্ষম করেছিলাম, এবং এটি কাজ করে।

আসলে, কিছু সময় আমার কোডটিতে আমার একটি সমস্যা ছিল। কনসোল প্রোগ্রামে আমার সহজ সংস্করণ না হওয়া পর্যন্ত এবং এটি কাজ করে দেখেনি (আপনি যেমন উদ্বিগ্ন ছিলেন তখন জিমেইলে কোনও পরিবর্তন হয়নি) I নীচের কোডটি আপনার উল্লেখ করা নমুনাগুলির মতোই কাজ করে:

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Net.Mail;
using System.Net;

namespace ConsoleApplication2
{
    class Program
    {
        static void Main(string[] args)
        {
            var client = new SmtpClient("smtp.gmail.com", 587)
            {
                Credentials = new NetworkCredential("myusername@gmail.com", "mypwd"),
                EnableSsl = true
            };
            client.Send("myusername@gmail.com", "myusername@gmail.com", "test", "testbody");
            Console.WriteLine("Sent");
            Console.ReadLine();
        }
    }
}

আমি এটি ওয়েবকনফিগ, http://msdn.microsoft.com/en-us/library/w355a94k.aspx এবং কোডের সংমিশ্রণটি ব্যবহার করেও পেয়েছি (কারণ EnableSslকনফিগারেশন ফাইলে কোনও মিল নেই :())


1
আমার জন্য সি # উইনফর্মস অ্যাপ্লিকেশনটিতে দুর্দান্তভাবে কাজ করেছেন। ধন্যবাদ, ফ্রেডি।
অ্যান্ড্রু

13
কেবল মনে রাখবেন যে এর মতো কোডটি আপনার জিমেইল শংসাপত্রগুলি কার্যকরভাবে ব্যবহারকারীকে প্রেরণ করে ...
ক্রিস মেরিসিক

3
সেখানে আসলে একটি মানানসই web.config মধ্যে enableSsl জন্য সেটিং, নীচের উত্তর দেখার
Wiebe Tijsma

4
@ জিদাড যা 4.0 এ যুক্ত হয়েছিল।
eglasius

21
আপনার জিমেইল সেটিংস পৃষ্ঠায় আপনাকে "কম সুরক্ষিত অ্যাপ্লিকেশনগুলি" অ্যাক্সেস সক্ষম করতেও প্রয়োজন হতে পারে: google.com/settings/security/lesssecureapps । আপনি যদি ব্যতিক্রম পেয়ে থাকেন তবে এটি প্রয়োজনীয় "" server সার্ভারের প্রতিক্রিয়াটি ছিল: 5.5.1 প্রমাণীকরণের প্রয়োজন
রাভেন্দ্রস্কি

73

নিম্নলিখিত প্রায় অবশ্যই উত্তর হতে আপনার প্রশ্নের যদি সব কিছু ব্যর্থ হয়েছে :

আমি ঠিক একই ত্রুটি পেয়েছি, এটি প্রমাণ করেছে যে গুগলের নতুন পাসওয়ার্ড স্ট্রিংহ মাপার অ্যালগরিদম আমার বর্তমান পাসওয়ার্ডটিকে খুব দুর্বল হিসাবে বিবেচনা করেছে এবং আমাকে এ সম্পর্কে একটি জিনিসও বলছে না (এমনকি কোনও বার্তা বা সতর্কতাও নয়) ... আমি কীভাবে এটি আবিষ্কার করেছি? ? ঠিক আছে, আমি আমার পাসওয়ার্ডটি এটির সাহায্য করবে কিনা তা দেখার জন্য বাছাই করেছিলাম (অন্য কিছু চেষ্টা করেও কোনও লাভ হয়নি) এবং যখন আমি আমার পাসওয়ার্ড পরিবর্তন করেছি, এটি কার্যকর হয়েছে!

তারপরে, একটি পরীক্ষার জন্য, আমি কী হবে তা দেখার জন্য আমার পাসওয়ার্ডটি আমার আগের পাসওয়ার্ডে ফিরে পরিবর্তন করার চেষ্টা করেছি এবং "Gmail আপনি নির্বাচিত হিসাবে এই পরিবর্তনটি সংরক্ষণ করতে আপনাকে অনুমতি দিতে পারছি না - এই কারণটি উল্লেখ করে Gmail আসলে আমাকে এটি করতে দেয়নি" পাসওয়ার্ড খুব দুর্বল "এবং আমাকে আমার পুরানো পাসওয়ার্ডে ফিরে যেতে দেয় না। আমি এ থেকে বুঝতে পেরেছিলাম যে এটি ত্রুটিযুক্ত হয়ে উঠছে কারণ ক) ক) আপনাকে প্রতি মাসে x বা খ একবার আপনার পাসওয়ার্ড পরিবর্তন করতে হবে)। যেমনটি আমি আগেই বলেছি, তাদের পাসওয়ার্ডের শক্তি অ্যালগরিদমগুলি পরিবর্তিত হয়েছে এবং সেইজন্য আমার যে দুর্বল পাসওয়ার্ড ছিল তা গ্রহণ করা হয়নি, যদিও তারা এখানে লগইন করার চেষ্টা করার সময় এই বিষয়ে কিছু না বলে! এটি (সম্ভবত 2 নম্বর) বেশিরভাগ ক্ষেত্রেই দৃশ্যমান, কারণ আমার দুর্বল পাসওয়ার্ডটি প্রায় 4 মাস পুরানো ছিল এবং এটি আমাকে এটি জিমেইলে ব্যবহার করতে দেয়।

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

আশা করি এটা কাজে লাগবে!


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

1
এটি ঠিক আমার সমস্যা ছিল - অন্য সমস্ত পরামর্শগুলি কনফিগারেশন সম্পর্কে ছিল, তবে আমার কনফিগারেশনটি প্রথম থেকেই সঠিক ছিল, তবে আমি ত্রুটিটি পেতে থাকি। পাসওয়ার্ড পরিবর্তন করা সমস্ত পার্থক্য তৈরি করেছে
আন্ড্রে ভার্মিউলেন

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

ধন্যবাদ। আমার জিমেইল অ্যাকাউন্টে আমার একই সমস্যা ছিল যা পাসওয়ার্ডের শক্তির মালিক নয়। আমি দৃ strong় সাথে এটি আপডেট করেছি এবং আমার কোডগুলি কাজ করছে।
টমাস.বেনজ

ধন্যবাদ, হ্যাঁ শেষ পর্যন্ত এটি কেবল পাসওয়ার্ডটিকে শক্তিশালীতে পরিবর্তন করে।
মিশা বেসকিন

67

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

একটি তৈরি করতে, এখানে যান: https://www.google.com/settings/ এবং পাসওয়ার্ড তৈরির জন্য অ্যাপ্লিকেশন এবং সাইট অনুমোদনের জন্য চয়ন করুন ।


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

ঠিক আমি কী করছি, তবুও একই ত্রুটি: - / এটি আমার পাসওয়ার্ডের মতো কাজ করে যা যথেষ্ট শক্তিশালী নয়, তবে আমি Gmail অ্যাপ্লিকেশনটির পাসওয়ার্ড ব্যবহার করছি যা আমাকে দিয়েছে !!!
জেরি ডজ

54
Turn On Access For Less Secure Apps and it will work for all no need to change password.

জিমেইল সেটিংয়ের লিঙ্ক

এখানে চিত্র বর্ণনা লিখুন


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

1
এই ধাঁধার মধ্যে এটি সর্বাধিক গুরুত্বপূর্ণ, যেহেতু আমার প্রতিটি অন্যান্য সেটিংস সেট আপ হয়েছে এবং মনে হচ্ছে এটি কাজ করছে না। আমার এই সেটিংটি শুরু হওয়ার সাথে সাথে এটি কেবল একটি কবজির মতো কাজ করেছে worked
হারিয়েছে

1
এটি আমার পক্ষে কাজ করেছে। অ্যাপ্লিকেশন পাসওয়ার্ড + এসএসএল + নেটওয়ার্ককারেনডিয়েন্টস। (VB.NET)
ক্রেজিআইভান 1974

30

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

  • প্রথমে আপনার GMail অ্যাকাউন্ট সেটআপ করুন:
    • IMAP সক্ষম করুন এবং সঠিক সর্বাধিক সংখ্যক বার্তা যুক্ত করুন (আপনি এখানে এটি করতে পারেন)
    • আপনার পাসওয়ার্ডটি কমপক্ষে 7 টি অক্ষর এবং শক্তিশালী (Google এর মতে) নিশ্চিত করুন
    • আপনাকে প্রথমে ক্যাপচা কোড প্রবেশ করতে হবে না তা নিশ্চিত করুন। আপনি আপনার ব্রাউজার থেকে একটি পরীক্ষা ইমেল প্রেরণ করে এটি করতে পারেন।
  • ওয়েবকনফিগে পরিবর্তন করুন (বা app.config, আমি এখনও এটি চেষ্টা করি নি তবে আমি ধরে নিলাম এটি উইন্ডোজ অ্যাপ্লিকেশনটিতে কাজ করা ঠিক তত সহজ):
<configuration>
    <appSettings>
        <add key="EnableSSLOnMail" value="True"/>   
    </appSettings>

    <!-- other settings --> 

    ...

    <!-- system.net settings -->
    <system.net>
        <mailSettings>
            <smtp from="yourusername@gmail.com" deliveryMethod="Network">
                <network 
                    defaultCredentials="false" 
                    host="smtp.gmail.com" 
                    port="587" 
                    password="stR0ngPassW0rd" 
                    userName="yourusername@gmail.com"
                    />
                <!-- When using .Net 4.0 (or later) add attribute: enableSsl="true" and you're all set-->
            </smtp>
        </mailSettings>
    </system.net>
</configuration>
Add a Class to your project:

Imports System.Net.Mail

Public Class SSLMail

    Public Shared Sub SendMail(ByVal e As System.Web.UI.WebControls.MailMessageEventArgs)

        GetSmtpClient.Send(e.Message)

        'Since the message is sent here, set cancel=true so the original SmtpClient will not try to send the message too:
        e.Cancel = True

    End Sub

    Public Shared Sub SendMail(ByVal Msg As MailMessage)
        GetSmtpClient.Send(Msg)
    End Sub

    Public Shared Function GetSmtpClient() As SmtpClient

        Dim smtp As New Net.Mail.SmtpClient
        'Read EnableSSL setting from web.config
        smtp.EnableSsl = CBool(ConfigurationManager.AppSettings("EnableSSLOnMail"))
        Return smtp
    End Function

End Class

এবং এখনই যখনই আপনি ইমেলগুলি প্রেরণ করতে চান তখন আপনাকে কল করতে হবে SSLMail.SendMail:

যেমন একটি পাসওয়ার্ড পুনরুদ্ধার নিয়ন্ত্রণ সহ একটি পৃষ্ঠাতে:

Partial Class RecoverPassword
Inherits System.Web.UI.Page

Protected Sub RecoverPwd_SendingMail(ByVal sender As Object, ByVal e As System.Web.UI.WebControls.MailMessageEventArgs) Handles RecoverPwd.SendingMail
    e.Message.Bcc.Add("webmaster@example.com")
    SSLMail.SendMail(e)
End Sub

End Class

বা আপনার কোডের যে কোনও জায়গায় আপনি কল করতে পারেন:

SSLMail.SendMail(New system.Net.Mail.MailMessage("from@from.com","to@to.com", "Subject", "Body"})

আমি আশা করি এটি এই পোস্টে প্রবেশকারী যে কোনও ব্যক্তিকে সহায়তা করবে! (আমি ভিবি.এনইটি ব্যবহার করেছি তবে আমার মনে হয় এটিকে কোনও। নেট ভাষায় রূপান্তর করা খুব নগণ্য ial)


+1 "সক্ষম এসএসএল =" সত্য "- এটি এমন একটি লিগ্যাসি অ্যাপ্লিকেশনটির জন্য কাজ করে যা বিশেষত সমাবেশগুলি পুনরায় ব্যয় না করে স্ম্টপ.এনেবল এসএসএল সম্পত্তি সেট করে না Excel দুর্দান্ত টিপ!
মেট্রো স্মুরফ

এবং ফায়ারওয়াল ভুলবেন না। পোর্ট 587 খোলার জন্য কোনও স্বাভাবিক বন্দর নয়।
গাই লো

13
Dim SMTPClientObj As New Net.Mail.SmtpClient
SMTPClientObj.UseDefaultCredentials = False
SMTPClientObj.Credentials = New System.Net.NetworkCredential("myusername@gmail.com", "mypwd")
SMTPClientObj.Host = "smtp.gmail.com"
SMTPClientObj.Port = 587
SMTPClientObj.EnableSsl = True
SMTPClientObj.Send("myusername@gmail.com","yourusername@gmail.com","test","testbody")

যদি আপনি "এসএমটিপি সার্ভারের মতো সুরক্ষিত সংযোগের প্রয়োজন হয় বা ক্লায়েন্টটি প্রমাণীকৃত হয়নি like এর মতো ত্রুটিটি পান তবে সার্ভারের প্রতিক্রিয়াটি ছিল: 5.5.1 প্রমাণীকরণের প্রয়োজন this" আমি এর আগে যেমন পেয়েছি "তে আরও শিখুন, নিশ্চিত করুন যে লাইনটি SMTPClientObj.UseDefaultCredentials = Falseঅন্তর্ভুক্ত রয়েছে এবং এই লাইনটি আগে উচিত SMTPClientObj.Credentials

আমি এই 2 টি লাইন বিপরীত দিকে স্যুইচ করার চেষ্টা করেছি এবং 5.5.1 প্রমাণীকরণের প্রয়োজনীয় ত্রুটি ফিরে এসেছে।


আমার সাথে ঠিক এটাই হয়েছিল। কে ভেবেছিল সম্পত্তি নির্ধারণের আদেশ জিনিসগুলি ঠিক করবে / ভাঙ্গবে!
বিল ইয়াং

এটি আমার জন্যও সমস্যা ছিল, আমি প্রস্তাবিত আদেশটি ঘুরিয়ে দিয়েছি এবং এটি ঠিক কাজ করে - মাথা ব্যথা, উ!
eth0

13

ওহ ... এটি আশ্চর্যজনক ... প্রথমে আমি কোনও কারণে ইমেল পাঠাতে পারিনি। তবে আমি নীচের হিসাবে এই দুটি লাইনের ক্রম পরিবর্তন করার পরে, এটি পুরোপুরি কাজ করে।

//(1)
client.UseDefaultCredentials = true;
//(2)
client.Credentials = new System.Net.NetworkCredential("username@gmail.com", "password");

আশা করি এই সাহায্য !!! :)


1
হ্যাঁ, আদেশটি পার্থক্য করে। বিশেষত যখন আপনি সম্পত্তি শংসাপত্রগুলি সেট করেন এবং আপনি ডিফল্ট শংসাপত্রগুলি ব্যবহার করতে চান না।
স্টিফান ক্বেতানভস্কি

1
ডকুমেন্টেশন অনুসারে, শংসাপত্রগুলি ব্যবহার করতে আপনাকে UseDefaultCredentials = মিথ্যা সেট করতে হবে। তবে এই দুটি সেটিংটি গোপনে জড়িত বলে মনে হচ্ছে। যদি আপনি UseDefaultCredentials টি সত্য বা মিথ্যাতে সেট করেন, এটি শংসাপত্রগুলি বাতিল করার ক্ষেত্রে পার্শ্ব প্রতিক্রিয়া করবে। এবং এটি প্রমাণীকরণের শংসাপত্রগুলি Use-DefaultCredentials = মিথ্যা সেট করতে পারে। এটি যদিও করণীয় হিসাবে নথিভুক্ত করা হয়নি, এটি বাগ বা কেবল একটি খোঁড়া বিকাশকারী হতে পারে।
হারুন

10

সমস্যাটি জিমেইলের মাধ্যমে প্রেরণ করার কোনও প্রযুক্তিগত ক্ষমতা নয়। এটি বেশিরভাগ পরিস্থিতিতে কাজ করে। যদি আপনি কোনও মেশিন প্রেরণ করতে না পান তবে এটি সাধারণত মেশিনটির নিয়ন্ত্রণে কোনও মানুষের সাথে প্রমাণিত না হওয়ার কারণে ঘটে।

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

আমি আমার বর্তমান সিস্টেমে যা করেছি তা হ'ল প্রতিটি বার্তার মধ্যে 1.5 সেকেন্ড দেরি করে প্রেরণ করা। তারপরে যদি আমার কোনও ত্রুটি হয় তবে 5 মিনিটের জন্য থামুন এবং তারপরে আবার শুরু করুন। এটি সাধারণত কাজ করে এবং আপনাকে অ্যাকাউন্টের সীমাতে প্রেরণে মঞ্জুরি দেয় (সর্বশেষে আমি পরীক্ষা করেছিলাম যে এটি প্রতি দিন প্রিমিয়ার গ্রাহক লগিনগুলির জন্য 2,000 ছিল)।


1
এটাই ছিল আমার সমস্যা! আমি যখন প্রোডাকশনে নিযুক্ত হয়েছি তখন আমি বিষয়টি পেয়েছি এবং সার্ভারে নিজেই জিমেইলে লগ ইন করার পরে এটি আবার কাজ শুরু করে।
গুয়


9

আমারও একই সমস্যা ছিল তবে এটি আমার ভাইরাস সুরক্ষা বহির্গামী "স্প্যাম" ইমেলটিকে অবরুদ্ধ করে চলেছে। এটি বন্ধ করে দেওয়া আমাকে জিএমইলের মাধ্যমে এসএমটিপি ইমেল প্রেরণে 587 পোর্ট ব্যবহারের অনুমতি দেয়


আমি উইন্ডোজ ডিফেন্ডারকে অক্ষম করেছিলাম এবং এটিও কাজ শুরু করে।
মরিওবোনজ

9

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

  1. আপনার জিমেইল অ্যাকাউন্টে সাইন ইন করুন।
  2. এই পৃষ্ঠাটি https://accounts.google.com/DisplayUnlockCaptcha দেখুন এবং অ্যাক্সেসের অনুমতি দেওয়ার জন্য বোতামে ক্লিক করুন।
  3. এই পৃষ্ঠাটি দেখুন https://www.google.com/settings/security/lesssecureapps এবং কম সুরক্ষিত অ্যাপ্লিকেশনগুলির জন্য অ্যাক্সেস সক্ষম করুন।

এটি আমার জন্য কাজ করেছে আশা করি এটি অন্য কারও জন্য কাজ করে!


8

আমি নিশ্চিত নই যে এর জন্য কোন নেট সংস্করণ প্রয়োজন, কারণ এলেসাসিয়াস উল্লেখ করেছেন যে এখানে কোনও মিলের enableSslসেটিং নেই (আমি নেট নেট ব্যবহার করছি 4.0.০, তবে আমি এটি নেট নেট ২.০ বা তার পরে কাজ করবে বলে সন্দেহ করি), তবে এই কনফিগারেশনটি জায়েস্ট হিসাবে কাজ করেছে আমি (এবং আপনার কোনও প্রোগ্রামিক কনফিগারেশন ব্যবহার করার প্রয়োজন নেই):

<system.net>
  <mailSettings>
    <smtp from="myusername@gmail.com" deliveryMethod="Network">
      <network defaultCredentials="false" enableSsl="true" host="smtp.gmail.com" port="587" password="password" userName="myusername@gmail.com"/>
    </smtp>
  </mailSettings>
</system.net>

আপনাকে প্রথমে আপনার জিমেইল অ্যাকাউন্টে পিওপি বা আইএমএপ সক্ষম করতে হবে: https://mail.google.com/mail/?shva=1#settings/fwdandpop

আমি প্রথমে এটি একটি সাধারণ মেল ক্লায়েন্ট দিয়ে চেষ্টা করার পরামর্শ দিচ্ছি ...


2
> - 4.0 নতুন যে এ সংস্করণের তুলনা msdn.microsoft.com/en-us/library/ms164242(v=VS.90).aspx
eglasius

হাই এগ্লাসিয়াস ... ঠিক আছে এর জন্য ধন্যবাদ! আশ্চর্যজনক যে তাদের কেবলমাত্র পূর্ব-4.0-এ প্রোগ্রামিক পদ্ধতি রয়েছে। আমি অনুমান করি আমরা সবাই এখন এবং পরে জিনিসগুলি ভুলে যাচ্ছি :)
Wiebe Tijsma

6

@ এন্ড্রেস পম্পিগলিও: হ্যাঁ ঠিক আছে আপনার অবশ্যই কমপক্ষে একবার আপনার পাসওয়ার্ড পরিবর্তন করতে হবে .. এই কোডগুলি ঠিক কাজ করে:

//Satrt Send Email Function
public string SendMail(string toList, string from, string ccList,
    string subject, string body)
{

    MailMessage message = new MailMessage();
    SmtpClient smtpClient = new SmtpClient();
    string msg = string.Empty;
    try
    {
        MailAddress fromAddress = new MailAddress(from);
        message.From = fromAddress;
        message.To.Add(toList);
        if (ccList != null && ccList != string.Empty)
            message.CC.Add(ccList);
        message.Subject = subject;
        message.IsBodyHtml = true;
        message.Body = body;
        // We use gmail as our smtp client
        smtpClient.Host = "smtp.gmail.com";   
        smtpClient.Port = 587;
        smtpClient.EnableSsl = true;
        smtpClient.UseDefaultCredentials = true;
        smtpClient.Credentials = new System.Net.NetworkCredential(
            "Your Gmail User Name", "Your Gmail Password");

        smtpClient.Send(message);
        msg = "Successful<BR>";
    }
    catch (Exception ex)
    {
        msg = ex.Message;
    }
    return msg;
}
//End Send Email Function

এবং আপনি ব্যবহার করে ফাংশনে কল করতে পারেন:

Response.Write(SendMail(recipient Address, "UserName@gmail.com", "ccList if any", "subject", "body"))

এসএমটিপি সার্ভারের জন্য একটি সুরক্ষিত সংযোগ প্রয়োজন বা ক্লায়েন্টটি প্রমাণীকৃত হয়নি। সার্ভারের প্রতিক্রিয়াটি ছিল: 5.5.1 প্রমাণীকরণ প্রয়োজনীয়। আরও শিখুন
সাভাস আদর

6

আমি কর্পোরেট ভিপিএন সংযোগ ব্যবহার করছিলাম। এই কারণেই আমি আমার অ্যাপ্লিকেশন থেকে ইমেল প্রেরণ করতে পারি নি। আমি ভিপিএন থেকে সংযোগ বিচ্ছিন্ন করলে এটি কাজ করে।


5

আমি এটিও দেখতে পেয়েছি যে আমি যে অ্যাকাউন্টটিতে লগ ইন করতাম সেটি কোনও কারণে গুগল দ্বারা নিষ্ক্রিয় করা হয়েছিল। আমি একবার আমার পাসওয়ার্ডটি পুনরায় সেট করতে (যেমনটি আগে ব্যবহার করতাম), তারপরে আমি ইমেলগুলি ঠিকঠাক পাঠাতে সক্ষম হয়েছি। আমি 5.5.1 বার্তা পেয়েছিলাম।


5

আমি অনেকগুলি সমাধানের চেষ্টাও করেছি তবে কিছু পরিবর্তন করেছি এটি কার্যকর হবে

host = smtp.gmail.com
port = 587
username = email@gmail.com
password = password
enabledssl = true

উপরের পরামিতিগুলির সাথে স্মিটপ্লিয়েন্টগুলি জিমেইলে কাজ করছে


5

আমি একই ত্রুটি পেয়েছিলাম এবং উপরের সমাধানগুলির কোনওটিই সহায়তা করে না helped

আমার সমস্যাটি হ'ল আমি কোনও রিমোট সার্ভার থেকে কোডটি চালাচ্ছিলাম, যা কখনও জিমেইল অ্যাকাউন্টে লগ ইন করার জন্য ব্যবহৃত হয়নি।

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



4

আমি এই একই ত্রুটির মধ্যে দৌড়েছি ( "এসএমটিপি সার্ভারের একটি সুরক্ষিত সংযোগ প্রয়োজন বা ক্লায়েন্টটি প্রমাণীকরণ করা হয়নি The সার্ভারের প্রতিক্রিয়াটি ছিল: 5.5.1 প্রমাণীকরণের প্রয়োজন at এ আরও শিখুন" ) এবং আমি খুঁজে পেয়েছি যে আমি ভুল পাসওয়ার্ডটি ব্যবহার করছি। আমি লগইন শংসাপত্রগুলি ঠিক করেছি এবং এটি সঠিকভাবে প্রেরণ করেছে।

আমি জানি এটি দেরি হয়ে গেছে তবে সম্ভবত এটি অন্য কাউকে সহায়তা করবে।


4

আর একটি জিনিস যা আমি পেয়েছি তা হ'ল আপনাকে অবশ্যই কমপক্ষে একবার আপনার পাসওয়ার্ড পরিবর্তন করতে হবে। এবং একটি সুরক্ষিত স্তরের পাসওয়ার্ড ব্যবহার করার চেষ্টা করুন (পাসওয়ার্ড হিসাবে একই ব্যবহারকারীর, 123456, ইত্যাদি ব্যবহার করবেন না)


4

আপনার জন্য আরও একটি সম্ভাব্য সমাধান। আইএমএপি-এর মাধ্যমে জিমেইলে সংযোগ করতে আমার একইরকম সমস্যা হচ্ছে। আমি যে সমস্ত সমাধান পেয়েছি সেগুলি চেষ্টা করার পরে আপনি এখানে এবং অন্য কোথাও এসওতে পড়বেন (উদাঃ IMAP সক্ষম করুন, আপনার মেলটিতে কম সুরক্ষিত অ্যাক্সেস সক্ষম করুন, https://accounts.google.com/b/0/displayunlockcaptcha ব্যবহার করে এবং সুতরাং), আমি আসলে আরও একবার নতুন জিমেইল অ্যাকাউন্ট সেট আপ করেছি।

আমার আসল পরীক্ষায়, আমি তৈরি প্রথম Gmail অ্যাকাউন্টটি, আমি আমার প্রধান জিমেইল অ্যাকাউন্টের সাথে সংযুক্ত করেছি। এর ফলে অনৈতিক আচরণের ফলস্বরূপ যেখানে গুগলের মাধ্যমে ভুল অ্যাকাউন্টটি উল্লেখ করা হয়েছিল। উদাহরণস্বরূপ, https://accounts.google.com/b/0/displayunlockcaptcha চালানোর ফলে আমি যে উদ্দেশ্যে তৈরি করেছি তার চেয়ে আমার প্রধান অ্যাকাউন্টটি খোলে।

সুতরাং উপরের মত যথাযথ সমস্ত পদক্ষেপ অনুসরণ করার পরে আমি যখন একটি নতুন অ্যাকাউন্ট তৈরি করেছি এবং এটিকে আমার মূল অ্যাকাউন্টের সাথে সংযুক্ত করি নি, আমি দেখতে পেলাম যে এটি ঠিক আছে!

আমি এখনও এটি নিশ্চিত করে নি (যেমন পুনরুত্পাদন), তবে এটি দৃশ্যত আমার জন্য এটি করেছে ... আশা করি এটি সাহায্য করবে।


4
  1. প্রথমে আপনার জিমেইল অ্যাকাউন্ট সেটিংস পরীক্ষা করে দেখুন এবং "কম সুরক্ষিত অ্যাপ্লিকেশনগুলির জন্য অ্যাক্সেস" থেকে চালু করুন এখানে চিত্র বর্ণনা লিখুন

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

  1. সেট

    smtp.UseDefaultCredentials = false;

    আগে

    smtp.Credentials = new NetworkCredential(fromAddress, fromPassword);

4

এই ত্রুটির জন্য এক বা একাধিক কারণ রয়েছে।

  • আপনার স্থানীয় সিস্টেমে আপনার জিমেইলে (বা অন্য কোনও যদি) লগ ইন করুন।

  • কম সুরক্ষিত অ্যাপ্লিকেশনটি পরীক্ষা করে দেখুন এবং এটি "চালু করুন" এ সেট করুন জিমেইলের জন্য লিঙ্ক। https://www.google.com/settings/security/lesssecureapps

  • আপনার ইমেল কোডটিতে সক্ষম এসএসএল পরীক্ষা করুন এবং এটিকে সত্যতে সেট করুন।

    smtp.EnableSsl = true;
  • আপনি বর্তমানে কোন বন্দরটি ব্যবহার করছেন তাও পরীক্ষা করুন। 25 গ্লোবাল, তবে আপনি এটি 587 এর মতো অন্যদের জন্যও এটি পরীক্ষা করতে পারেন here এখানে চেক করুন। সমস্ত এসএমটিপি যোগাযোগ 25 এরও বেশি হয়?

  • যদি আপনি রিমোটে থাকেন : উপরে ভ্লাদ তমাসের উত্তরটি পরীক্ষা করুন ।


আমি যদি কম সুরক্ষিত অ্যাপ্লিকেশন সেটিংস চালু করতে না চাই, তবে কীভাবে অন্যান্য ইমেল ক্লায়েন্টরা এটি করতে পারে না কেন আমি সি # দিয়ে একই কাজ করতে পারি না?
ব্যবহারকারী 734028

3

আপনি 465 পোর্টের মাধ্যমেও সংযোগ করতে পারেন তবে সিস্টেমের কিছু সীমাবদ্ধতার কারণে নেট.মেল নেমস্পেসে আপনাকে আপনার কোড পরিবর্তন করতে হতে পারে। এটি হ'ল কারণ নেমস্পেসটি অন্তর্নিহিত এসএসএল সংযোগ তৈরি করার ক্ষমতা সরবরাহ করে না। এটি http://blogs.msdn.com/b/webdav_101/archive/2008/06/02/system-net-mail-with-ssl-to-authenticate-against-port-465.aspx এ আলোচনা করা হয়েছে এবং আমি অন্য আলোচনায় সিডিও (সহযোগী ডেটা অবজেক্ট) কীভাবে ব্যবহার করতে হয় তার উদাহরণ সরবরাহ করেছেন ( সি #সমস্ত বন্দরগুলিতে নেট ত্রুটি ) মাধ্যমে GMail এসএমটিপি


3

আমার এই সমস্যার সমাধান হয়েছিল। স্পষ্টতই সেই বার্তাটি একাধিক ত্রুটির ধরণের ক্ষেত্রে ব্যবহৃত হয়। আমার সমস্যাটি হ'ল আমি আমার সর্বোচ্চ 500 প্রেরিত মেল পৌঁছেছি।

অ্যাকাউন্টে লগইন করুন এবং ম্যানুয়ালি একটি মেল প্রেরণের চেষ্টা করুন। যদি সীমাটি পৌঁছে যায় তবে এটি আপনাকে অবহিত করবে


2

আপনার জিমেইল অ্যাকাউন্টে যদি ২-পদক্ষেপ যাচাইকরণের পদক্ষেপ থাকে তবে আপনাকে একটি অ্যাপ্লিকেশন পাসওয়ার্ড তৈরি করতে হবে। https://support.google.com/accounts/answer/185833?p=app_passwords_sa&hl=en&visit_id=636903322072234863-1319515789&rd=1 অ্যাপ্লিকেশন পাসওয়ার্ড বিকল্প কীভাবে জেনারেট করা যায় তা নির্বাচন করুন এবং প্রদত্ত পদক্ষেপগুলি অনুসরণ করুন। উত্পন্ন অ্যাপ্লিকেশন পাসওয়ার্ডটি অনুলিপি করে কোথাও অনুলিপি করুন এবং প্যাট করুন কারণ আপনি সম্পন্ন ক্লিক করার পরে আপনি এটি পুনরুদ্ধার করতে পারবেন না।


2
smtp.Host = "smtp.gmail.com"; //host name
smtp.Port = 587; //port number
smtp.EnableSsl = true; //whether your smtp server requires SSL
smtp.DeliveryMethod = System.Net.Mail.SmtpDeliveryMethod.Network;
smtp.Credentials = new NetworkCredential(fromAddress, fromPassword);
smtp.Timeout = 20000;

1

আপনার জিমেইল পাসওয়ার্ড পরিবর্তন করুন এবং আবার চেষ্টা করুন, এটির পরে এটি কাজ করা উচিত।

কেন জানি না, তবে প্রতিবার আপনি আপনার হোস্টিং পরিবর্তন করলে আপনাকে আপনার পাসওয়ার্ড পরিবর্তন করতে হবে।

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