Amazon s3: ссылка на изображение не работает в Gmail - PullRequest
1 голос
/ 17 июня 2019

При отправке электронной почты в формате HTML из приложения rails URL-адрес изображения становится мертвым. Я строю с AWS S3 и AWS SES .

Вид / news_mailer.html.erb

<div class="icon">
  <%= image_tag @item.image.to_s %>
</div>

отправители / news_mailer.rb

class NewsMailer < ApplicationMailer
  def all_notify(item)
    @item = item

    mail(
      subject: @item.title,
      to: "test@example.com",
    )
  end
end

Интересно, мне нужно исправить настройки S3 ...

ссылка на изображение выглядит так

https://ci6.googleusercontent.com/proxy/jhtnRHXmN3Z-Mh0r-3Dildvviner2BBXGyqOcjIRvUTL7s3s2gNlucBVi25nfQze1GSspvhbpCLygjLYqge-yn4mP7jPLpZhBmFUtEbVTFqg8V23v-1bvqN14SCfRVPg_pPtfjEk69r-2rajeeJyH19Pi-8PzCE1tUv4uyPIAyzKa-Ijc-fd_56w5Nc5U3Yl0MQrGe5AXc3d3LeQd8I0vQKtp494SOYPIiSCeE2WsmGwkRts2BX7EfOaKAhZX99bdVkYOjoCM183hb8A6fLFpFSK-CxcfChIrjgKvDLbXwuBQT89PWTFBYGpaGEBPer3eNnuIKfZa8ZtkBG6UI6IsHcDfVi93yqQ_oGvM2SD2h-inkuy4_Oaa9Yjx-qgHPAlUunzA3Hi2frTErjNh1flwmz62iWhuysSwTYLQ95hisu3fuUViuC_o5awVCUrzBDPMeATLcctZObWtbGmcD5LYv9tWrnz3dyBZdlxizU2jGLimAyaLauQDbmCX6B-EVxnkLg=s0-d-e1-ft#https://example.s3-ap-northeast-1.amazonaws.com/uploads/product/image/154/marubatsu-quiz-generater.jpg?X-Amz-Expires=600&X-Amz-Date=20190614T232723Z&X-Amz-Algorithm=AWS4-HMAC-SHA256&X-Amz-Credential=AKIAJIMUKNPRWGBOPJMQ/20190614/ap-northeast-1/s3/aws4_request&X-Amz-SignedHeaders=host&X-Amz-Signature=53134c41b3adf17720a2e4bd14c08b7831d4877591e4c9704dbfcee9834960c1

1 Ответ

0 голосов
/ 17 июня 2019

Предполагая, что ваша ссылка на изображение является фактической ссылкой, которую вы используете в электронном письме ...

Похоже, что URL-адрес может быть неправильным, ошибка, возвращаемая из AWS: The bucket you are attempting to access must be addressed using the specified endpoint. Please send all future requests to this endpoint.

Ошибка amazon показывает: <Endpoint>s3.amazonaws.com</Endpoint> <Bucket>example</Bucket>

Конечная точка, которую вы использовали https://example.s3-ap-northeast-1.amazonaws.com, но должна быть https://example.s3.amazonaws.com (в соответствии с ошибкой), которая не включает регион.

Вы можете сделать либоваши изображения корзин общедоступны (или сама корзина), и вы используете общедоступный URL-адрес, или вы можете сэкономить деньги и сохранить приватность корзины, но разрешить доступ через облачный фронт (CDN), который имеет другие преимущества (скорость, кэш-память, более низкая стоимость).

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...