gpt4 book ai didi

ruby-on-rails - 如何使用 ruby​​ 文件中的 linux 'mail' 命令发送邮件?

转载 作者:太空宇宙 更新时间:2023-11-03 17:55:02 25 4
gpt4 key购买 nike


在下面的代码中,我必须发送一封关于进程状态的电子邮件,无论是完成、错误还是超时...

    def check_for_forecasts
wait_until_time = Time.now + timeout.minutes
loop do
RAILS_DEFAULT_LOGGER.info "Checking if process has finished"
if find_token != 0
update_completion_status
RAILS_DEFAULT_LOGGER.info "Process has finished"
break
elsif find_error != 0
update_timed_out_field
RAILS_DEFAULT_LOGGER.info "Process has errored"
break
elsif DateTime.now > wait_until_time
update_timed_out_field
RAILS_DEFAULT_LOGGER.info "Process has timed out"
break
else
RAILS_DEFAULT_LOGGER.info "Waiting for Process to finish"
sleep(60) # if it hasn't completed then wait 1 min and try again.
end
end
end

一般来说,我们只在 .sh 文件中使用 linux 'mail' 命令,而不会在 .rb 文件中使用。下面是我们如何编写“邮件”命令来发送 .sh 文件中的邮件。

 mail -s "the process has been finished" abc@xyz.com<<EOM
The process has finished successfully.
EOM

有没有办法在.rb 文件中使用简单的邮件命令?还是我必须为此安装任何 gem?

请帮助。谢谢。

最佳答案

从 ruby​​ 做同样的事情的一个非常丑陋但有用的方法:

to = "abc@xyz.com"
subject = "the process has been finished"
content = "The process has finished successfully."
`mail -s "#{subject}" #{to}<<EOM
#{content}
EOM`

关于ruby-on-rails - 如何使用 ruby​​ 文件中的 linux 'mail' 命令发送邮件?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15807095/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com