Почему я получаю два http: // при отправке почты с использованием delayed_job - PullRequest
0 голосов
/ 14 марта 2011
require 'digest'
class UserMailer < ActionMailer::Base

  def receive_compliment(compliment)
    @recipients  = "#{compliment.receiver.email}"
    @from        = SERVICE_EMAIL
    @subject     = "Nouveau compliment de #{compliment.user.to_str}"
    @sent_on     = Time.now
    @compliment  = compliment    
    @content_type = "text/plain"
    @body[:url] =  user_compliments_url(@compliment.receiver)
    @body[:root_url] = root_url(:host)      
  end

end

Привет, ребята.

Как вы видите выше. это код отправки почты. Я использую UserMaililer.send_later("deliver_receive_complimen",compliment) для отправки почты. и письмо отправлено, однако, когда я открываю письмо, я получил что-то вроде этого:

Bonjour Kamil ,

 vous a envoyé un compliment sur Blanee!

Cliquez ici pour afficher l’expéditeur et ses commentaires sur vous :
http://http://feature.blanee.net/membres/compliments/66

Merci,
L'équipe Blanee
________________
Ce mail est à l'attention de Kamil  B..
Vous voulez contrôler les notifications que vous recevez? Veuillez vous rendre sur : http://http://feature.blanee.net/mon-compte/notifications.
Vous ne vous êtes pas inscrit sur Blanee et vous avez reçu ce mail? Veuillez le signaler en envoyant un email à l'adresse suivante : admin@blanee.net

Как вы видите выше. есть два http://, кто-нибудь поможет? Я проверял. если я отправляю почту напрямую, то остается только один http://,, но когда я отправляю его с помощью delayed_job, он показывает два http: ///

мой файл шаблона ERB:

Bonjour <%="#{@compliment.receiver.first_name.to_s.strip},"%>

<%=h(@compliment.user.to_str)%> vous a envoyé un compliment sur Blanee!

Cliquez ici pour afficher l’expéditeur et ses commentaires sur vous :
<%=@url%>

Merci,
L'équipe Blanee
________________
Ce mail est à l'attention de <%=@compliment.receiver.email%>.
Vous voulez contrôler les notifications que vous recevez? Veuillez vous rendre sur : <%=@root_url%>mon-compte/notifications.
Vous ne vous êtes pas inscrit sur Blanee et vous avez reçu ce mail? Veuillez le signaler en envoyant un email à l'adresse suivante : admin@blanee.net

и на самом деле я пытался записать * _url в файл шаблона. но это все еще ошибка при отправке из delayed_job.

1 Ответ

1 голос
/ 14 марта 2011

При использовании остальных URL-адресов с Action Mailer вы должны сгенерировать URL с параметром :host внутри почтовой программы.Работает ли для вас следующее:

Cliquez ici pour afficher l’expéditeur et ses commentaires sur vous :
<%= user_compliments_url(@compliment.receiver, :host => 'feature.blanee.net') %>

Обязательно оставьте http:// на :host.

...