Page 1 of 11 123 ... LastLast
Results 1 to 15 of 160

Thread: Помогите настроить Sendmail и Postfix

  1. #1

    Question Помогите настроить Sendmail и Postfix

    НЕ формирует FROM ни из тела ни из -f - берет только последний параметр который по совместительству является еще и To:, таким образом можно послать только на адрес отправителя =(
    То что -f попадает только в заголовок мыла в Received: (from ...

    Еще особенность, возможно связанная с работой smtp.mail.ru, но все же...
    то что попало в MAIL FROM проверяется сервером на соответстве том утчо в поле From: указано, причем принимается даже если адрес в формате "имя <мыло>", однако при указании -t в RCPT TO: если в To: указан в таком же виде сформированный аддрес то сервер дает отбивку, мол неверный адрес...
    Last edited by Duke; 20-10-2006 at 12:46.

  2. #2
    Join Date
    Dec 2003
    Location
    Russian Federation
    Posts
    8,350
    А в пакетах нет ничего взамен?

  3. #3
    В пакетах много чего есть, но зачем е.. пардон, занимать память если есть встроенная мыльницца? :d
    Ща попробую в сырцах откопать...
    Last edited by Duke; 20-10-2006 at 21:45.

  4. #4
    Вот дифф для
    broadcom\src\router\sendmail\mini_sendmail.c
    Code:
    216c216
    < 	(void) snprintf( buf, sizeof(buf), "MAIL FROM:<%s>", argv[argn]);
    ---
    > 	(void) snprintf( buf, sizeof(buf), "MAIL FROM:<%s>", from);
    P.S. Полусотнями строк выше from присваивается не зависимо от того, продефайнлен ли WL600 или инет - значит тут явный баг был. Вообще непотянтно кто такой WL600 и зачем для него такие извраты, возможно бужет достаточно просто погасить этот флаг в Makefile. WL-600g кажется вышел мног опозже чем GPL1927 от сентября 2005 коим датированв 1.9.2.7 где я серцы и выкопал...
    P.P.S. в 1.9.6.9 та же багофича =(
    Last edited by Duke; 21-10-2006 at 05:42.

  5. #5
    Попробовал пересобрать и так и эдак. Елси погасить дефайн WL600 то наглухо виснет при отсылке, а если from прописать там где надо вместо argv[argn] то все шоколадно

    Итоговый дифф:
    Code:
    215,217d214
    < #ifdef WL600
    <       (void) snprintf( buf, sizeof(buf), "MAIL FROM:<%s>", argv[argn] );
    < #else
    219d215
    < #endif
    Надеюсь в следующий билд попадет

  6. #6
    Join Date
    Dec 2003
    Location
    Russian Federation
    Posts
    8,350
    Тогда diff неплохо бы с ключём -u сделать.

  7. #7
    Code:
    --- mini_sendmail.c.orig        2006-10-21 18:19:59 +0400
    +++ mini_sendmail.c     2006-10-21 18:20:35 +0400
    @@ -212,11 +212,7 @@
            exit( 1 );
            }
    
    -#ifdef WL600
    -       (void) snprintf( buf, sizeof(buf), "MAIL FROM:<%s>", argv[argn] );
    -#else
         (void) snprintf( buf, sizeof(buf), "MAIL FROM:<%s>", from );
    -#endif
         send_command( buf );
         status = read_response();
         if ( status != 250 )

  8. #8
    Join Date
    Dec 2003
    Location
    Russian Federation
    Posts
    8,350
    ок, теперь ясно. вот только вопрос - а штатные функции не испортятся?

  9. #9
    А это и есть единственные штатная функция - посылка мыла...
    Раньше забивалось на наличие -f и все отсылалось от имени первого получателя в списке. Теперь отсылается от WL600@MAILER либо от указанного в -f. Там просто явный глюк в этом месте был, чего добиться хотели мне непонятно - сначала формируют from а потом про него забывают как будто. Где в роутере этот минисендмыл вызывается я если честно не вижу
    Last edited by Duke; 21-10-2006 at 19:42.

  10. #10
    Join Date
    Dec 2003
    Location
    Russian Federation
    Posts
    8,350
    Вызывается из rc/sendalarm.c:
    sprintf(command, "cat /var/tmp/alarmmail | mini_sendmail -s%s %s", serverip, nvram_safe_get("usb_websendto_x"));

    Отправитель - последний аргумент, да и судя по исходникам, так и есть. Не работает так?

    WL600 - это так называлось всё семейство WL500G, венчать его должен был двухдиапазонный роутер WL600, но этого так и не произошло.

  11. #11
    А где эта хрень здается в веб-интерфейсе %)
    Это будет работать при условии что SMTP-сервер принимает не только входящие от локальных адресов (тобишь релеем работает). smtp.mail.ru например не принимает. Чтоб сработало так же безусловно надо сделать

    sprintf(command, "cat /var/tmp/alarmmail | mini_sendmail -f%s -s%s %s", nvram_safe_get("usb_websendto_x"), serverip, nvram_safe_get("usb_websendto_x"));

    т.е. сам себе.

  12. #12
    Join Date
    Nov 2004
    Location
    Москва
    Posts
    375
    Quote Originally Posted by Duke View Post
    А где эта хрень здается в веб-интерфейсе %)
    Это будет работать при условии что SMTP-сервер принимает не только входящие от локальных адресов (тобишь релеем работает). smtp.mail.ru например не принимает. Чтоб сработало так же безусловно надо сделать
    т.е. сам себе.
    это наврено фишка , чтоб отправлять кардры с вебкамеры, когда срабатывает детектор движения....
    только я пробывал ставить smtp провайдера - не работает
    а другой smtp трафик провайдер режет
    может там еще порт smtp указывать? т.к. в гугл smtp вроде отличается порт от стандартных

  13. #13
    Join Date
    Dec 2003
    Location
    Russian Federation
    Posts
    8,350
    Вот как сделал:
    Code:
    --- router/sendmail/mini_sendmail.c     2004-11-11 10:32:18.000000000 +0300
    +++ gateway/sendmail/mini_sendmail.c    2006-10-21 22:38:22.607725832 +0400
    @@ -164,7 +164,11 @@
     #endif
    
         if ( fake_from == (char*) 0 )
    +#ifdef WL600
    +       (void) snprintf( from, sizeof(from), "%s", argv[argn]);
    +#else
            (void) snprintf( from, sizeof(from), "%s@%s", username, hostname );
    +#endif
         else
            if ( strchr( fake_from, '@' ) == (char*) 0 )
                (void) snprintf( from, sizeof(from), "%s@%s", fake_from, hostname );@@ -212,11 +216,7 @@
            exit( 1 );
            }
    
    -#ifdef WL600
    -       (void) snprintf( buf, sizeof(buf), "MAIL FROM:<%s>", argv[argn]);
    -#else
         (void) snprintf( buf, sizeof(buf), "MAIL FROM:<%s>", from );
    -#endif
         send_command( buf );
         status = read_response();
         if ( status != 250 )
    Т.е., если есть -f, то он используется, иначе, как было.

  14. #14
    Угу, пойдет.
    Я бы еще злобнее подрезал там где он хостнейм и юзернейм тянет...

    Code:
    --- mini_sendmail.c.orig        2006-10-21 18:19:59 +0400
    +++ mini_sendmail.c     2006-10-21 22:50:49 +0400
    @@ -134,11 +134,7 @@
            ++argn;
            }
    
    -#ifndef WL600
         username = getlogin();
    -#else
    -    username = "WL600";
    -    //fprintf(stderr, "%s\n", username);
     #endif
         if ( username == (char*) 0 )
            {
    @@ -156,15 +152,15 @@
     #endif /* DO_GETPWUID */
            }
    
    -#ifndef WL600
         if ( gethostname( hostname, sizeof(hostname) - 1 ) < 0 )
            show_error( "gethostname" );
    -#else
    -       strcpy(hostname,"MAILER");
    -#endif
    
         if ( fake_from == (char*) 0 )
    +#ifdef WL600
    +       (void) snprintf( from, sizeof(from), "%s", argv[argn]);
    +#else
            (void) snprintf( from, sizeof(from), "%s@%s", username, hostname );
    +#endif
         else
            if ( strchr( fake_from, '@' ) == (char*) 0 )
                (void) snprintf( from, sizeof(from), "%s@%s", fake_from, hostname );
    @@ -212,11 +208,7 @@
            exit( 1 );
            }
    
    -#ifdef WL600
    -       (void) snprintf( buf, sizeof(buf), "MAIL FROM:<%s>", argv[argn] );
    -#else
         (void) snprintf( buf, sizeof(buf), "MAIL FROM:<%s>", from );
    -#endif
         send_command( buf );
         status = read_response();
         if ( status != 250 )

  15. #15
    Join Date
    Dec 2003
    Location
    Russian Federation
    Posts
    8,350
    Сделал так.

Page 1 of 11 123 ... LastLast

Similar Threads

  1. Помогите настроить Apache на роутере
    By ajsn in forum Russian Discussion - РУССКИЙ (RU)
    Replies: 101
    Last Post: 29-06-2014, 17:22
  2. Помогите настроить роутер Asus WL-500gP v2
    By berik_iushi in forum Russian Discussion - РУССКИЙ (RU)
    Replies: 282
    Last Post: 17-12-2012, 10:23
  3. Помогите настроить git на роутере
    By taewoo in forum Russian Discussion - РУССКИЙ (RU)
    Replies: 21
    Last Post: 21-02-2012, 06:00
  4. ...Помогите девушке-блондинке настроить роутер...
    By Just in forum Russian Discussion - РУССКИЙ (RU)
    Replies: 50
    Last Post: 24-07-2009, 07:25
  5. Need help with installing MTA (postfix)
    By sturkel in forum WL-500gP Q&A
    Replies: 9
    Last Post: 07-05-2009, 22:30

Tags for this Thread

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •