Tag: 电子邮件

将HTML表单发布到remote.cgi – 用Ruby编写?

我正在一个托管在微软办公室现场服务上的网站上工作。 它有一个联系表格,使访客可以与业主联系。 我想编写一个位于单独服务器上的Ruby脚本,表单将POST到该脚本。 它将解析表单数据并通过电子邮件将详细信息发送到预设地址。 然后,该脚本应将浏览器重定向到确认页面。 我有一台运行nginx和postfix的ubuntu hardy机器。 安装了Ruby,我们将看到使用Thin和它的Rackfunction来处理脚本。 现在是编写脚本,我画了一个空白。 已经很长时间了,如果我没记错的话,这个过程是这样的。 读取HTTP标头 解析参数 发送电子邮件 发送重定向标头 从广义上讲,问题已得到解答。 弄清楚如何使用答案比预期更复杂,我认为值得分享。 第一步: 我非常突然地了解到nginx并不直接支持cgi脚本。 您必须使用其他一些进程来运行脚本并获取nginx来代理请求。 如果我在php中这样做(后来我认为这将是一个更自然的选择)我可以使用像php-fcgi这样的东西,并期望生活会非常直接。 Ruby和fcgi感觉相当令人生畏。 但如果我们放弃在运行时加载这些东西的理想,那么Rack可能是最直接的解决方案,而Thin包含我们所需要的一切。 学习如何使用它们制作基本的小应用程序对像我这样的相对Rails新手来说是非常有益的。 Rails应用程序的基础似乎隐藏了很长时间,而Rack帮助我进一步拉开窗帘。 尽管如此,遵循耶胡达的建议并查找sinatra是另一个惊喜。 我现在有一个在Thin实例中运行的基本sinatra应用程序。 它通过unix socket与nginx通信,我收集的是标准方式。 Sinatra以非常优雅的方式处理不同的请求和路由到应用程序。 您只需要一个get ‘/’ {}来开始处理对虚拟主机的请求。 要添加更多(以干净的方式),我们只需在主文件中包含routes / script.rb即可。 # cgi-bin.rb # main file loaded as a sinatra app require ‘sinatra’ # load cgi routes require ‘routes/default’ require ‘routes/contact’ […]

Actionmailer – Sparkpost模板和多语言

这是我第一次在rails项目中设置邮件。 我被告知要使用SparkPost并为多个操作创建不同语言的模板。 为简单起见,我们说一个user_signed_up(用户)邮件。 目前我有这个设置工作: gem安装:’sparkpost’ mail.rb ActionMailer::Base.smtp_settings = { address: “smtp.sparkpostmail.com”, port: 587, enable_starttls_auto: true, user_name: “SMTP_Injection”, password: SPARKPOST_API_KEY, domain: ‘foo-bar.com’ } ActionMailer::Base.delivery_method = :smtp ActionMailer::Base.default charset: “utf-8″ application_mailer.rb require ‘sparkpost’ class ApplicationMailer < ActionMailer::Base default from: "Seal Notification ” layout ‘mailer’ end signup_mailer.rb class SignupMailer < ApplicationMailer def user_signed_up(user) receiver = user.email sender = […]

Ruby和使用Net :: SMTP发送电子邮件:如何指定电子邮件主题?

我有一个ruby应用程序,我发送文件http://ruby-doc.org/stdlib-2.0/libdoc/net/smtp/rdoc/Net/SMTP.html中的这种格式的电子邮件: Net::SMTP.start(‘your.smtp.server’, 25) do |smtp| smtp.send_message msgstr, ‘from@address’, ‘to@address’ end 这是我的代码: def send_notification(exception) msgstr = <<-END_OF_MESSAGE From: Exchange Errors To: Edmund Mai Subject: test message Date: Sat, 23 Jun 2001 16:26:43 +0900 Message-Id: This is a test message. END_OF_MESSAGE Net::SMTP.start(‘localhost’, 25) do |smtp| smtp.send_message(msgstr, “exchangeerrors@5112.mysite.com”, “emai@mysite.com”) end end 但是,发送的电子邮件中没有主题。 msgstr刚刚成为电子邮件的正文。 我没有在文档中看到有关如何指定邮件主题的任何内容。 有人知道吗?

在Rails中validation多个电子邮件和处理错误的最佳方法是什么?

在我正在构建的当前应用程序中,我有一个textarea,用户将在其中输入以逗号分隔的电子邮件地址列表。 我目前正在将列表拆分为数组,然后逐个保存。 但是,如果,我有这个输入…… blah@example.com,test @ example,foo @ example.com …然后将保存blah@example.com,但保存测试@示例将失败。 因此,当我显示test @ example不是有效电子邮件地址的错误时,我需要从逗号分隔的值字符串中删除blah@example.com,并将其传递回textarea。 有没有更好的方法在服务器端validation这些并处理错误而不会在控制器中获得幻想/丑陋? 提前致谢!

Rails邮件程序错误与内联附件

我在Action Mailer中有一个非常罕见的行为,我在5个月前实施了一个邮件动作并且它正在运行,但是昨天,由于一些奇怪的原因,它崩溃了。 问题 我有一个邮件布局,为了在我的所有电子邮件中使用它,在其中我渲染之前由filter附加的图像 Layout = app/views/layouts/email.html.erb Visionamos <link rel="stylesheet" type="text/css" href=> … .. . 用户邮件app/mailers/users.rb = app/mailers/users.rb class UsuariosMailer “monitoreo@visionamos.com” layout “mail” #Set email layout before_filter :add_inline_attachments! # Add image header for all actions def otp_password(user, otp_key) @usuario = user @code = otp_key email_with_name = “#{@usuario.nombre} ” mail(:to => email_with_name, :subject => “One time […]

在iphone中无法正确呈现内嵌图像的html电子邮件

我希望有人可以帮助我解决我在下面的代码中出错的问题 – 我的电子邮件被发送,图像在大多数电子邮件客户端(gmail web,android)中正确内联,但它在iphone上无法正常呈现ipad:仅显示最后附加的图片,不显示任何html内容或文本内容。 我理解每个电子邮件客户端解释和呈现不同的有效负载,我不知道如何使它在iPhone上工作。 任何帮助赞赏! ruby代码: require ‘mail’ def inline_body_with_attachments(html, attachments) attachments.each do |attachment| if (html =~ /#{attachment.filename}/) html = html.sub(attachment.filename, “cid:#{attachment.cid}”) end end return html end mail = Mail.new({ :from => “foo@bar.com”, :to => “you@gmail.com”, :subject => “html email with inline images” }) text_part = Mail::Part.new do body “some text” end mail.text_part = […]

在ruby中使用“mail”gem阅读电子邮件需要帮助

我正在使用Watir进行自动化,创建一个我需要检查的电子邮件。 我被指向电子邮件gem是最简单的方法。 我添加了以下代码,并且能够从我的收件箱中收到第一封电子邮件。 require ‘mail’ require ‘openssl’ Mail.defaults do retriever_method :pop3, :address => “email.someemail.com”, :port => 995, :user_name => ‘domain/username’, :password => ‘pwd’, :enable_ssl => true end puts Mail.first 我是这个论坛的新手,有以下问题: 如何获取所有未读电子邮件? 我试过Mail.all , Mail.first , Mail.last ,但没有回复未读的电子邮件。 如何获取电子邮件中存在的所有链接? 或者从特定电子邮件发送邮件正文? 我需要获取第一封未读电子邮件的电子邮件正文。 如果我的收件箱中有子文件夹,如何从特定文件夹获取电子邮件?

Mandrill API模板

我正在使用Mandrill的Ruby API Gem并使用以下简单模板进行测试: testastic 按照Heroku指南中的示例,我有以下Ruby代码: require ‘mandrill’ m = Mandrill::API.new rendered = m.templates.render ‘test-template’, [{:header => ‘some header text’, :main_section => ‘The main content block’, :footer => ‘asdf’}] mail(:to => “Jayson Lane “, :subject => “Test Email”) do |format| format.html { rendered[‘html’] } #format.text { render “test” } end 这很好用,电子邮件发送我的模板很好,但是,它不会取代模板mc:edit变量。 我错过了什么吗?

邮件gem – 如何清理身体字符串

我正在尝试使用ruby mail gem阅读电子邮件。 但是mail.body.decoded返回了正文消息。 如何清理此正文消息并删除不需要的文本,如: -20cf30433c9a437cc304939017ef\nContent-Type: text/plain; charset=ISO-8859-1\nContent- message = $stdin.read mail = Mail.read_from_string(message) puts mail.body.decoded –20cf30433c9a437cc304939017ef\nContent-Type: text/plain; charset=ISO-8859-1\nContent-Transfer-Encoding: quoted-printable\n\n REAL BODY TEXT \\n\n–20cf30433c9a437cc304939017ef\nContent-Type: text/html; charset=ISO-8859-1\nContent-Transfer-Encoding: quoted-printable\n\n–20cf30433c9a437cc304939017ef– 如何清除此电子邮件正文邮件,仅提取REAL BODY TEXT,不带任何标题? 我正在创建一个基于Ruby on Rails的简单票务系统,并在ticket@mydomain.com收到电子邮件时创建票证。 但是当消息是HTML格式时,BODY TEXT被HEADER文本包围。

如何在电子邮件确认期间删除设备密码重置?

我的电子邮件确认适用于设计,但我想删除此自动密码重置。 我无法找到在哪个文件中设计此操作的命令。 先感谢您 !