2016-07-30 2 views
1

J'essaie de comprendre comment envoyer des courriels transactionnels à partir de mon application Rails 4.Rails 4 - Intégration de marque postale

J'ai trouvé des tutoriels pour la gemme de cachet postal, mais j'ai du mal à combler les lacunes entre ce qui est supposé dans les tutoriels (où faire les étapes suggérées!) Et ce que je sais.

J'ai installé à la fois le rubis et les rails de pierres précieuses dans mon Gemfile:

gem 'postmark-rails', '~> 0.13.0' 
gem 'postmark' 

J'ai ajouté la config de cachet de la poste à ma config/application.rb:

config.action_mailer.delivery_method = :postmark 
    config.action_mailer.postmark_settings = { :api_token => ENV['POSTMARKKEY'] } 

Je veux essayer créer et utiliser des modèles d'e-mail dans le cachet de la poste.

Les instructions contenues dans la documentation de pierres précieuses cachet de la poste disent que je dois:

Create an instance of Postmark::ApiClient to start sending emails. 

your_api_token = 'xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx' 
client = Postmark::ApiClient.new(your_api_token) 

Je ne sais pas comment faire cette étape? Où est-ce que j'écris la deuxième ligne? J'ai mon pion api stocké dans ma config. Je ne sais pas comment faire une instance du client api de cachet de poste.

Quelqu'un peut-il me diriger vers les prochaines étapes (ou un tutoriel plus détaillé)? Une fois les gemmes installées, vous devez créer un publipostage.

Répondre

3

Je suppose que vous avez déjà configuré les clés API de manière correcte, donc je vais me concentrer sur l'envoi d'un email basé sur un template/static.

Permet de créer un fichier app/mailers/postmark_mailer.rb avec le contenu suivant.

class PostmarkMailer < ActionMailer::Base 
    default :from => "[email protected]>" 
    def invite(current_user) 
    @user = current_user 
    mail(
     :subject => 'Subject', 
     :to  => @user.email, 
     :return => '[email protected]', 
     :track_opens => 'true' 
    ) 
    end 
end 

Nous pouvons alors ce logiciel de messagerie dans modèle le fichier app/views/postmark_mailer/invite.html.erb Utilisons le balisage suivant pour vous aider à démarrer.

<p>Simple email</p> 
<p>Content goes here</p> 

Vous pouvez l'écrire comme n'importe quel autre modèle .html.erb en utilisant des balises, HTML et similaires.

Pour réellement envoyer cet email, vous devez placer une action dans votre contrôleur, de la manière suivante.

PostmarkMailer.invite(current_user) 

Alternativement, si vous voulez cet e-mail à envoyer sur la page d'accueil visite, il serait très probablement regarder comme ceci:

app/controllers/home_controller.rb avec le contenu

class HomeController < ApplicationController 

    # GET/
    def index 
    PostmarkMailer.invite(current_user) 
    end 
end 

et itinéraire corresponsing

config/routes.rb avec le contenu

root :to => 'home#index' 

J'espère que cela répond à votre question.