Может кто-нибудь объяснить, как использовать параметр cPanel для запуска ruby-скрипта? В основном я хотел бы запускать ruby-скрипт каждый раз, когда приходит электронное письмо. Затем я хотел бы использовать данные из электронной почты, чтобы сделать некоторые вещи внутри скрипта.Как подключить электронную почту от cPanel к скрипту Ruby
Я устанавливаю опцию Cpanel для электронной почты, как это:
Внутри pipe_test.rb сценария я пытаюсь что-то вроде этого:
email_data = STDIN.read
# Get email address
#....
# Do somthing with the email address
#...
Update # 1
После некоторого чтения я смог заставить этот скрипт работать из оболочки, запустив ruby pipe_test.rb test
.
email_data = ARGV[0]
# Save data to a file
File.open("test_pipe_data.txt", 'w') { |file| file.write(email_data) }
# Get email address
#....
# Do somthing with the email address
#...
Однако, когда я добавить сценарий к «трубе в программе» вариант пути файла в CPanel не кажется, чтобы запустить сценарий. Я попытался добавить следующие комбинации вариантов путей файла, и ни один из них не работал:
home/pipe_test.rb
home/pipe_test.rb test
home/ruby pipe_test.rb test
home/ruby ‘pipe_test.rb test’
home/‘ruby pipe_test.rb’
home/‘ruby pipe_test.rb test’
Update # 2
Это выглядит как часть моей проблемы мне нужно добавить Shebang строки в в верхней части моего скрипта, поэтому оболочка знает, какую программу использовать для запуска скрипта. Поэтому я добавил это в самой верхней строке:
#!/usr/bin/env ruby
Я подтвердил, что это правильный путь, запустив:
which ruby
Я тогда собирался добавить ./pipe_test.rb
CPanel трубу программировать путь. Проблема теперь, когда я бегу ./pipe_test.rb
из оболочки он говорит:
: No such file or directory
Я побежал echo $PATH
, чтобы убедиться, что путь существует, и он делает. Поэтому я снова застрял.
Я прочитал обе статьи и добавил обновление, основанное на том, что я узнал из ссылок. К сожалению, я все еще не могу получить cPanel для запуска скрипта. – MrAutoIt
- это ваш скрипт на сервере? похоже, вам нужно использовать полный путь к скрипту. – hovancik
Да, это на сервере. Я не понимаю, что вы имеете в виду. Мне нужно добавить полный путь к Shebang или к пути cPanel? Сейчас он даже не запускается, когда я печатаю ./pipe_test.rb из командной строки. Поэтому я предполагаю, что cPanel не сможет запустить этот эфир. – MrAutoIt