2010-08-19 4 views
19

루비 내가 등록 된 사용자에게 100 이메일을 보낼 경우 내가 알고 싶은 경우 사용자 개방 이메일이나하지이메일 개방 알림 - 레일

내가 레일에 사용하여이 루비를 할 수 있습니까?

+0

아래의 답변은 철저하고 정확합니다. 이러한 종류의 요구 사항은 대개 전자 메일의 "메일"부분 만보고 전자 메일에 서명 할 수있는 달팽이 메일 배달 보장을 주장하는 이해 관계자가 필요합니다. 내 생각에 너와 대화하는 것이 나을 것 같아. – Mhmmd

+2

문제는 그것이 열렸는지 알기를 원하지 않습니다. 문제는 "또는 아닙니다"입니다. HTML 전자 메일에 전통적인 웹 버그를 추가하면 전자 메일이 열렸는 지 알 수 있습니다. 그것은 공개되었을 수도 있고 당신은 그것을 모를 수도 있지만, 그렇지 않을 때 벌레가 열렸다고 말하는 것은 거의 없습니다. 정확도가 떨어지는 동안은 여전히 ​​좋은 척도입니다. 특히 한 캠페인의 성공과 다른 캠페인의 성공을 비교하고자 할 때. –

답변

24

이렇게하는 유일한 방법은 트래커 이미지가있는 html 전자 메일을 사용하는 것입니다. 코드에 사용자 특정 이미지를 포함시켜야합니다. 이 같은 이메일 템플릿 뭔가

# Rails 2 
map.tracking_image "tracking_image/:id.gif", :controller => 'tracking', :action => image 

# Rails 3 
match 'products/:id', :to => 'tracking#image', :as => "tracking_image" 

# Rails 4 (match without verb is deprecated) 
get 'producsts/:id' => 'tracking#image', as: 'tracking_image' 
# or 
match 'producsts/:id' => 'tracking#image', as: 'tracking_image', via: :get 

:

class TrackingController < ApplicationController 
    def image 
    # do something with params[:id] 
    send_file "/path/to/an/image" 
    end 
end 

가 다음 경로를 추가이가이 사용자가 이메일을 읽도록 보장 아니라고,

<%= image_tag tracking_image_url(@user.id) %> 

그러나 인식하고 이미지를로드 할 때 일부 이메일 클라이언트는 사용자가 원할 때까지 이미지를로드하지 않습니다. 그리고 만약 그가하지 않으면 당신은 이것에 대해 아무 것도 할 수 없습니다. 또한 사용자가 텍스트 메일 만 사용하는 경우에는이 옵션이 작동하지 않습니다.

+2

---- send_file "/path/to/an/image.gif", : type => 'image/gif', : disposition => 'inline'---- send_file "/ path /to/an/image.jpg ", : type => 'image/jpeg', : disposition => 'inline' – SyntaxGoonoo

+0

기술적 인 관점 -이 대답은 내 문제를 해결했습니다. 예 - 전 @Doon에 완전히 동의합니다. –

9

짧은 대답, 할 수 없습니다. 조금 더 오답 당신은 믿을 수 없습니다.

VERP와 같은 것을 사용하면 바운스 메일 서버가 이메일을 수락 한 경우 바운스 처리를 자동화하여 상당히 좋은 아이디어를 얻을 수 있습니다. 그러나 그 후에 모든 내기는 꺼져 있습니다. 전자 메일 서버가 정크 메일/스팸 폴더로 라우트하고,받은 편지함에 넣고, 바닥/비트 버킷에 자동으로 드롭하는 등 이메일 서버가 실제로 무엇을했는지 말할 수 없습니다. 이메일에서 수신 확인 헤더를 활성화 할 수는 있지만 이는 클라이언트와 관련이 있습니다 (나 같은 사람들은 먹는/거부합니다). 웹 버그를 사용할 수 있습니다. 예를 들어 각 이메일을 HTML 파일로 사용자 정의하고, 원격 이미지를 가져오고, 고유 한 ID가 연관되어 있지만, 다시 말하면 클라이언트마다 원격 이미지를로드하지 않습니다. 따라서 이메일이 반송되지 않는 한 이메일을 서버로 보낸 후 이메일에 어떤 일이 발생 하는지를 100 % 신뢰할 수있는 방법으로 알려주지 않습니다.

+0

예 - 전적으로 동의합니다. 브라우저의 렌더링 이미지에 대한 –

2

저는 루비에 익숙하지 않지만 여러 개의 대량 메일러 응용 프로그램을 작성했습니다. 웹 버그 이미지를 사용하여 대략적인 공개 율을 얻을 수 있습니다.

<img src="http://mysite/trackingimage.gif?email=x&customer=y"> 

은 내가 무엇을하는 것은 읽고 URL의 PARAMS를 저장하고 다음에 재배치 그것에 인덱스와 trackingimage.gif라는 디렉토리를 만들 수 있습니다 : 기본적으로 그것은 일부 추적 정보를 단지 하나 개의 픽셀 또는 투명 이미지입니다 진짜 이미지.