2016-10-02 2 views
0

Может кто-нибудь объяснить, как использовать параметр cPanel для запуска ruby-скрипта? В основном я хотел бы запускать ruby-скрипт каждый раз, когда приходит электронное письмо. Затем я хотел бы использовать данные из электронной почты, чтобы сделать некоторые вещи внутри скрипта.Как подключить электронную почту от cPanel к скрипту Ruby

Я устанавливаю опцию Cpanel для электронной почты, как это: enter image description here

Внутри 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, чтобы убедиться, что путь существует, и он делает. Поэтому я снова застрял.

ответ

0

Пожалуйста, прочитайте о трубе здесь: https://en.wikipedia.org/wiki/Pipeline_%28Unix%29

Также проверьте следующее: https://mikegriffin.ie/blog/20160525-using-pipe-with-ruby-scripts

Ваш первый шаг должен быть выяснить, что вы получите от Cpanel на свой рубиновый скрипт.

+0

Я прочитал обе статьи и добавил обновление, основанное на том, что я узнал из ссылок. К сожалению, я все еще не могу получить cPanel для запуска скрипта. – MrAutoIt

+0

- это ваш скрипт на сервере? похоже, вам нужно использовать полный путь к скрипту. – hovancik

+0

Да, это на сервере. Я не понимаю, что вы имеете в виду. Мне нужно добавить полный путь к Shebang или к пути cPanel? Сейчас он даже не запускается, когда я печатаю ./pipe_test.rb из командной строки. Поэтому я предполагаю, что cPanel не сможет запустить этот эфир. – MrAutoIt

Смежные вопросы