Enregistrement des informations envoyées par courrier électronique et traitées via Mailgun dans mon application

StackOverflow https://stackoverflow.com//questions/9644546

Question

J'ai mis en place Heroku & Railgun afin de pouvoir prendre le contenu des emails et le stocker.

Je l'ai au point que lorsque des courriels sont envoyés à Mailgun, ils sont transférés à mon application et les instances vides de mon modèle de messages sont créées automatiquement, cependant, aucun des champs de l'e-mail ne sont stockés (malgré avoir un schéma correspondant (par exemple, de: String Sujet: String, etc.)).

Mon problème est que je ne peux pas comprendre comment prendre le contenu d'une demande de post HTTP et le traiter afin que chaque message soit stocké avec ses informations correspondantes. Je peux voir que cela arrive dans Heroku (Via Heroku Bûches), mais ne peut pas le stocker. Je cherche à stocker au début les champs suivants:

  • de
  • Sujet
  • Pièces jointes

    au moment où mon message_controller.rb ressemble à ceci

        def create
          @message = Message.new(params[:message])
    
          respond_to do |format|
            if @message.save
              format.html { redirect_to @message, notice: 'Message was successfully created.' }
              format.json { render json: @message, status: :created, location: @message }
            else
              format.html { render action: "new" }
              format.json { render json: @message.errors, status: :unprocessable_entity }
            end
          end
        end
    

    Toute suggestion?

    Je suis sûr que c'est un problème de compréhension de base de ma part, mais je n'arrive pas à trouver quelque chose qui explique vraiment ce que j'essaie de faire ici.

Était-ce utile?

La solution

La mailgunner ici:

Nous ne postons pas d'objets de rails, nous publions des paramètres http simples comme expliqué dans ce tableau: http://documentation.mailgun.net/user_manual.html#parsed-Messages-paramètres

Il n'y a pas de paramètre "Message" que vous essayez de saisir avec des params [: message], vous devez assembler votre message avec des composants individuels tels que Parmas [: Sujet], paramètres [: corps-plable], etc.

En outre, étant donné que le poteau provient d'un domaine différent, vous devez désactiver la demande de faille de la demande de faussement pour cette action du contrôleur: http://api.rubyonRails.org/classes/actionController/requestforgeryProtection/classmethods.html

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top