ডিভাইস সহ আমি কীভাবে ইমেল নিশ্চিতকরণ সেট আপ করব?


127

সেখানে কি এমন কোনও টিউটোরিয়াল রয়েছে যা স্ক্র্যাচ থেকে ডেভাইসের সাইনআপ কনফার্মেশন ইমেল সেটআপ করবেন (ডেভলপমেন্ট এবং প্রোডাকশন উভয় ক্ষেত্রে), কীভাবে আপনার কাছে অ্যাকশন মেইলার সেট আপ না করা আছে তা ব্যাখ্যা করে?

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


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

ActionMailer::Base.delivery_method = :smtp
ActionMailer::Base.smtp_settings = {
   :tls => true,
   :address => "smtp.gmail.com",
   :port => 587,
   :domain => "gmail.com",
   :authentication => :login,
   :user_name => "[username]",
   :password => "[password]"
 }

উত্তর:


208

1. নিশ্চিত করুন যে আপনি মডেল.ডিভেস কলটিতে নিশ্চিতযোগ্য

class User < ActiveRecord::Base
  devise :database_authenticatable, :confirmable ...
end

২) নিশ্চিত হয়ে নিন যে আপনি ব্যবহারকারীর স্থানান্তরে নিশ্চিতযোগ্যতা যুক্ত করেছেন

create_table :users do |t|
  t.database_authenticatable
  t.confirmable
  ...
end

আপনি যদি ডিভাইস ২.০+ ব্যবহার করেন তবে এটি ব্যর্থ হয় কারণ নকশাগুলি আর মাইগ্রেশন সহায়ক সরবরাহ করে না এবং তাই t.confirmableত্রুটি উত্থাপন করে। পরিবর্তে, তাদের স্থানান্তর গাইড থেকে "নিশ্চিতকরণযোগ্য" লেবেলযুক্ত ব্লকটি অনুলিপি করুন ।

৩. নিম্নলিখিত কমান্ডগুলির মধ্যে যে কোনওটি ছদ্মবেশী মতামত তৈরি করুন, যাতে আপনি নকশাকার মেলর দর্শনের ওভাররাইড করতে পারেন:

rails generate devise:views # global
rails generate devise:views users # scoped

আপনি এখন আপনার সেটআপের উপর devise/mailer/confirmation_instructions.html.erbবা তার users/mailer/confirmation_instructions.html.erbউপর নির্ভর করে মেলর দর্শনগুলি ওভাররাইড করতে পারেন

4. জন্য উন্নয়ন পরিবেশে নিম্নলিখিত কনফিগ লাইন যোগ/config/environments/development.rb

config.action_mailer.default_url_options = { :host => 'localhost:3000' }
config.action_mailer.delivery_method = :smtp
config.action_mailer.smtp_settings = {:address => "localhost", :port => 1025}

5. জন্য উৎপাদন পরিবেশে /config/environments/production.rbআপনাকে নিম্নলিখিত অনুরূপ কিছু ব্যবহার করতে পারে (ত আপনি স্থানীয় হোস্ট একটি SMTP সার্ভারের আছে: 25):

config.action_mailer.default_url_options = {:host => 'yourdomain.com'}
config.action_mailer.delivery_method = :smtp
config.action_mailer.smtp_settings = {
  :address => "127.0.0.1",
  :port    => 25,
  :domain  => 'yourdomain.com'
}

6 বিকাশে সেটআপ পরীক্ষা করার জন্য মেলক্যাচার জহরটি ইনস্টল করুন, আপনি বিকাশে এসএমটিপি সার্ভার হিসাবে ব্যবহার করবেন, সমস্ত আগত মেলগুলি ধরা এবং সেগুলিতে প্রদর্শিত হবে http://localhost:1080/:

gem install mailcatcher

ইনস্টল হয়ে কমান্ডটি সহ মেলক্যাচার সার্ভারটি শুরু করুন:

mailcatcher

একটি খেলনা এসএমটিপি সার্ভার 1025 পোর্টে চলতে থাকবে এবং ইমেলগুলি ধরা এবং এইচটিটিপি পোর্ট 1080 এ তাদের স্থানান্তরিত করবে।

আপনি এখন একটি অ্যাকাউন্ট তৈরি করতে পারেন এবং নিশ্চিতকরণগুলি দেখতে পারেন।


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

1
বিকাশে আপনার ঠিক ইমেলগুলি ঠিকানায় পৌঁছে দেওয়ার দরকার নেই। মেলক্যাচারের লোকালহোস্টে একটি ওয়েব ইন্টারফেস রয়েছে : 1080 যা আপনি খোলার এবং ক্যাচড ইমেলগুলি দেখতে পাবেন - এটি এটি আপনার মূল বিকাশকে সহজ করার জন্য এটি make উত্পাদনের ক্ষেত্রে, আপনি একটি সত্যিকারের এসএমটিপি সার্ভার (গুগল অ্যাপস, কিমেল, পোস্টফিক্স ইত্যাদি আপনার
সিসাদমিনের সাথে

3
এবং আপনার সার্ভার পুনরায় চালু করতে ভুলবেন না!
ম্যাট বন্ড

10
ডিভাইস ২.০ আর মাইগ্রেশন সহায়ক সরবরাহ করে না এবং t.confirmableত্রুটি উত্থাপন করে। পরিবর্তে, তাদের মাইগ্রেশন গাইড থেকে " কনফার্মযোগ্য
রস অ্যালেন

1
দুর্দান্ত টিউটোরিয়াল ... ভাগ করে নেওয়ার জন্য ধন্যবাদ .. + 1 .. এছাড়াও কীভাবে যুক্ত করা যায় তা দেখার জন্য মূল্যবান : ব্যবহারকারীদের পৃষ্ঠায় নিশ্চিতযোগ্য
অরূপ রক্ষিত

7

আমি বিশ্বাস করি আপনার আবার এডিট করা উচিত ... পোর্ট নং। উক্তি হতে হবে .. এই মত: -

:port => "587",

আমি রেল 3.2.0 / রুবি 1.9.2 এ একটি সমস্যার মুখোমুখি হয়েছি


সঠিক। বা "1025"যদি মেলক্যাচার ব্যবহার করে থাকেন।
এটিয়েন

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