Форум программистов, компьютерный форум, киберфорум
Shell, Bash
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.85/34: Рейтинг темы: голосов - 34, средняя оценка - 4.85
202 / 44 / 2
Регистрация: 19.03.2012
Сообщений: 283

Отправка ip на почту

03.07.2012, 21:08. Показов 6693. Ответов 10
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Задача стоит следующая: отправка ip адреса на почту, нужно чтобы скопт срабатывал при переподключении к сети или подключении вообще.
Как отправлять сообщения на почту есть соображения. Проблемма в том, чтобы отправлялось когда ip меняется.
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
03.07.2012, 21:08
Ответы с готовыми решениями:

Отправка логов на почту
есть файл куда постоянно сыпется логи. Нужные надо отправлять на почту cat /var/log | grep LOGIN_FAILED | mail -s "LOG" @email ...

Отправка На Почту
Как отправить otpravka.txt файл на почту? Если можно пожалуйста с подробным описанием, я не знаю C++, знаю только VB.Net и Pascal, но...

Отправка на почту
Всем привет. у меня есть код который отправляет на почту из формы. Как сделать чтобы сообщение отправлялось с нормальной...

10
Эксперт по компьютерным сетямЭксперт NIX
 Аватар для Dmitry
13440 / 7534 / 830
Регистрация: 09.09.2009
Сообщений: 29,554
03.07.2012, 21:12
заспрашиваешь айпи
сравниваешь с хранящимся в файле
по результатам сравнения делаешь нужные действия
сохраняешь в файл текущее значение айпи, чтобы было с чем сравнивать при следующей проверке
0
202 / 44 / 2
Регистрация: 19.03.2012
Сообщений: 283
03.07.2012, 21:26  [ТС]
Не подскажешь команду которая выдёт именно ip без другой информации. Например если использовать ifconfig ppp0, то выводить слишком много лишней информации.
0
Эксперт по компьютерным сетямЭксперт NIX
 Аватар для Dmitry
13440 / 7534 / 830
Регистрация: 09.09.2009
Сообщений: 29,554
03.07.2012, 21:53
Bash
1
ifconfig eth0 | egrep -io "inet addr:[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}" | egrep -io "[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}"
Добавлено через 3 минуты
3-х ходовая альтернатива
Bash
1
2
3
wget [url]http://checkip.dyndns.org[/url]
cat index.html | egrep -o "[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}"
rm -f index.html
1
4866 / 3288 / 468
Регистрация: 10.12.2008
Сообщений: 10,570
04.07.2012, 03:22
Bash
1
ifconfig ppp0 | sed -nr "2s/.*inet addr:([^ ]+).*/\1/p"
1
202 / 44 / 2
Регистрация: 19.03.2012
Сообщений: 283
05.07.2012, 02:04  [ТС]
Решил все возникшие проблемы, вот решил поделиться со всеми, если кто-то стокнулся с такой-же проблемой.

1.Для начала нужно настроить отправку e-mail(лов) из терминала.
1) Для начала установим msmtp:
sudo apt-get install msmtp

2) Есть 2 файла конфигурации глобальный (для всех пользователей) /etc/msmtprc или для конкретного пользователя ~/.msmtprc .
Содержание этого файла примерно следующие:

account yandex
host smtp.yandex.ru
port 587
protocol smtp
auth on
from <ваш email>
user <ваш email>
password <ваш пароль>
tls on
tls_starttls on
tls_certcheck off
account default : yandex

3) Отправляется сообщение такой командой cat ~/.data ~/.ip | msmtp address@mail.ru

В первом файле (~/.data) у нас содержится информация о теме, от кого и кому посылается сообщение. Первый файл должен заканчиваться двумя пропущенными строчками. Во втором (~/.ip) у нас лежит ip адресс текущий или любая другая инфа.

Содержание файлы (~/.data)
To: pypkin@mail.ru (Получатель)
From: Дима (От кого это письмо)
Subject: test (Тема)

Вот сам простенький скриптик:
Code
1
2
3
4
5
6
7
8
9
10
#!/bin/bash
#Скрипт запрашивает текущий ip с интерфейса ppp0 и сравнивает его с ip из файла ~/.ip. 
Если ip адреса совпадают, то ничего не происходит, а если различаются, то происходит запись нового ip в файл ~/.ip и потом этот ip отсылается на почту.
ip=`ifconfig ppp0 | egrep -io "inet addr:[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}" | egrep -io "[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}"`
ip2=`cat < ~/.ip`
if [ "$ip" = "$ip2" ]
then echo Верно > /dev/null
else echo "$ip" > ~/.ip
fi
cat ~/.data ~/.ip | msmtp pypkin@mail.ru
Добавлено через 4 часа 15 минут
Чтобы скрипт запускался и работал из cron, нужно чтобы файлы .ip и .date были в папке /root и конфигурация msmtp в /etc/msmtprc.
1
4866 / 3288 / 468
Регистрация: 10.12.2008
Сообщений: 10,570
05.07.2012, 10:24
Цитата Сообщение от toxin Посмотреть сообщение
нужно чтобы файлы .ip и .date были в папке /root и конфигурация msmtp в /etc/msmtprc.
сомнительно, так как никаких операций, требующих прав, в скрипте нет

можешь сделать скрипт в папке, а файлы хранить в виде .ip и .data в той же папке
а cron настраивать через crontab -e соответствующего пользователя
конфигурация почтовой программы должна быть в домашнем каталоге пользователя в виде его личной конфигурации, не влияющей на конфигурацию той же программы для любого другого пользователя (смотри man msmtp)
0
202 / 44 / 2
Регистрация: 19.03.2012
Сообщений: 283
05.07.2012, 23:31  [ТС]
Предыдущая версия скрипта работает криво, он написан с ошибками. Вот исправленная версия с нужными исправлениями:
Code
1
2
3
4
5
6
7
8
9
10
11
#!/bin/bash
ip=`ifconfig ppp0 | egrep -io "inet addr:[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}" | egrep -io "[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}"`
ip2=`cat < /home/user/.ip`
if [ "$ip" = "$ip2" ] 
then 
echo yes > /dev/null
elif [ "$ip" != "$ip2" ]
then
echo "$ip" > /home/user/.ip 
cat /home/user/{.date,.ip} | sudo msmtp pypkin@mail.ru
fi
0
Эксперт по компьютерным сетямЭксперт NIX
 Аватар для Dmitry
13440 / 7534 / 830
Регистрация: 09.09.2009
Сообщений: 29,554
05.07.2012, 23:47
Цитата Сообщение от toxin Посмотреть сообщение
он написан с ошибками
имхо, этот тоже
Цитата Сообщение от toxin Посмотреть сообщение
if [ "$ip" = "$ip2" ]
при сравнении нужно двойное равно
if [ "$ip" == "$ip2" ]
0
202 / 44 / 2
Регистрация: 19.03.2012
Сообщений: 283
06.07.2012, 01:20  [ТС]
Я только учусь, спорить не буду. Руководствовался данным мануалом http://gazette.linux.ru.net/ru... x2536.html
Там написано, что вроде и так и так правильно.

Добавлено через 13 минут
Сейчас чуточку по гуглил пишут, что так сравнивается.
0
4866 / 3288 / 468
Регистрация: 10.12.2008
Сообщений: 10,570
06.07.2012, 01:41
Цитата Сообщение от Dmitry Посмотреть сообщение
при сравнении нужно двойное равно
там любое работает

Цитата Сообщение от toxin Посмотреть сообщение
Bash
1
sudo msmtp [email]pypkin@mail.ru[/email]
права для отправки не нужны
если без прав не отправляет, то что-то не то с настройками
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
06.07.2012, 01:41
Помогаю со студенческими работами здесь

Отправка на почту
Здравствуйте. Подскажите пожалуйста в чем ошибка, приходить письмо на почту пустое? вот сама форма: &lt;form...

отправка на почту
вот так я вычитал скрипт отправки: mail(&quot;мой майл&quot;, &quot;майл получателя&quot;, &quot;текстовое письмо&quot;) но у меня так не работает ,...

Отправка На Почту
Как сделать так чтобы программа отправила input.txt файл на почту? Если можно с подобным описанием.

отправка на почту
Приветствую, Всех) Подскажите пожалуйста HTML - код, что бы например я создал тест. человек его заполняет нажимает отправить и результат...

отправка на почту с 1с
1С:Предприятие 7.7 Доброго времени суток. Простите если не в той теме вопрос и если глупый. но все же. Как отправить на эл.почту...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
11
Ответ Создать тему
Новые блоги и статьи
http://iceja.net/ математические сервисы
iceja 20.01.2026
Обновила свой сайт http:/ / iceja. net/ , приделала Fast Fourier Transform экстраполяцию сигналов. Однако предсказывает далеко не каждый сигнал (см ограничения http:/ / iceja. net/ fourier/ docs ). Также. . .
http://iceja.net/ сервер решения полиномов
iceja 18.01.2026
Выкатила http:/ / iceja. net/ сервер решения полиномов (находит действительные корни полиномов методом Штурма). На сайте документация по API, но скажу прямо VPS слабенький и 200 000 полиномов. . .
Расчёт переходных процессов в цепи постоянного тока
igorrr37 16.01.2026
/ * Дана цепь постоянного тока с R, L, C, k(ключ), U, E, J. Программа составляет систему уравнений по 1 и 2 законам Кирхгофа, решает её и находит переходные токи и напряжения на элементах схемы. . . .
Восстановить юзерскрипты Greasemonkey из бэкапа браузера
damix 15.01.2026
Если восстановить из бэкапа профиль Firefox после переустановки винды, то список юзерскриптов в Greasemonkey будет пустым. Но восстановить их можно так. Для этого понадобится консольная утилита. . .
Сукцессия микоризы: основная теория в виде двух уравнений.
anaschu 11.01.2026
https:/ / rutube. ru/ video/ 7a537f578d808e67a3c6fd818a44a5c4/
WordPad для Windows 11
Jel 10.01.2026
WordPad для Windows 11 — это приложение, которое восстанавливает классический текстовый редактор WordPad в операционной системе Windows 11. После того как Microsoft исключила WordPad из. . .
Classic Notepad for Windows 11
Jel 10.01.2026
Old Classic Notepad for Windows 11 Приложение для Windows 11, позволяющее пользователям вернуть классическую версию текстового редактора «Блокнот» из Windows 10. Программа предоставляет более. . .
Почему дизайн решает?
Neotwalker 09.01.2026
В современном мире, где конкуренция за внимание потребителя достигла пика, дизайн становится мощным инструментом для успеха бренда. Это не просто красивый внешний вид продукта или сайта — это. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru