2012-02-18 24 views
5

Một trong bưu phẩm của tôi trông như thế này:ActionMailer không gửi email đúng nếu: đến lĩnh vực có dấu phẩy

mail(:from => "Support Team <[email protected]>", 
    :to => "#{@user.alias} <#{@user.email}>", 
    :subject => 'Verification Email') 

Tuy nhiên, nếu bí danh của người sử dụng là "Foobar, Bar", sau đó email thực sự được gửi đến: Foobar, Bar <[email protected]>. tức là foobar và nhà soạn nhạc.

Tôi nghĩ rằng vấn đề là với dấu phẩy trong "Foobar, Bar". Điều này cần phải được trốn thoát hoặc một cái gì đó?

bưu phẩm của tôi có nên trông giống như thay vì điều này:

mail(:from => "Support Team <[email protected]>", 
    :to => @user.email, 
    :subject => 'Verification Email') 
+0

thanx rất nhiều cho câu hỏi này. Tôi đã có một thời gian khó khăn với vấn đề tương tự từ. Thanx lần nữa. –

Trả lời

9

Chắc chắn không gian (và có thể dấu phẩy) ở phần tên của một tiêu đề email phải được bao gồm trong dấu ngoặc kép.

Trích dẫn một tên đôi khi không bắt buộc, nhưng không bao giờ bị cấm, vì vậy vì đơn giản, hãy thử:

mail(:from => "\"Support Team\" <[email protected]>", 
    :to => "\"#{@user.alias}\" <#{@user.email}>", 
    :subject => 'Verification Email') 

EDIT Để hoàn chỉnh, tôi đã thêm dấu ngoặc kép để thoát from, bởi vì họ cũng cần thiết.

+0

Bất kỳ lợi ích hoặc bất lợi nào nếu nó chỉ là ': from => support @ email.com' và': to => @ user.email'. Điều này có ảnh hưởng đến khả năng phân phối theo bất kỳ cách nào không? –

+1

Thêm tên không ảnh hưởng đến việc phân phối nào cả (trừ khi nó được thực hiện theo cách không hợp lệ và làm hỏng thư). Đó là sự lựa chọn cá nhân. Với địa chỉ "Tới", nó chỉ liên quan đến việc sử dụng tên nếu bạn muốn giúp người nhận xác định lẫn nhau (hoặc để giúp bạn khi xem lại các mục đã gửi). Nó có thể gây phiền nhiễu khi nhận được một tin nhắn với tên của bạn hoàn thành không chính xác, do đó, nó có thể là tốt hơn tất cả các vòng để sử dụng địa chỉ email trong "Để". Bao gồm tên trong "Từ" giúp người nhận biết bạn là ai. Nó thường trông tốt hơn chỉ là một địa chỉ email, vì vậy nếu bạn có thể bao gồm tên của bạn trong "Từ", tôi sẽ làm điều đó. – SimonMayer

+0

Thanx buddy. giải pháp gr8. –

Các vấn đề liên quan