[컴][웹] sendmail 정보모음

sendmail

sendmail 버전확인

$>echo \$Z | /usr/sbin/sendmail -bt -d0

anti-spam 을 위해 "/etc/mail/access" 에 특정 domain 에 대해 어떻게 동작할지를 정해줄수 있다. 자세한 내용은 ref. 2를 보자. 여기서는 대략적인 이야기만 할 것이다.

  • /etc/mail/access

makemap

그런데 이 /etc/mail/access 가 text 파일인데 sendmail 에서는 이녀석을 이용하지 않는다. sendmail 이 이용하는 db로 변경해 주려면 makemap 라는 명령어를 사용해야 한다.(ref. 2, ref. 3 을 참고하자.)

/etc/mail$ makemap hash /etc/mail/access.db < /etc/mail/access

그러면 access.db 파일이 생성된다.

  • access.db

test 메일 보내기

$>echo "testing" | sendmail -f "nn.ng@tners.com" gack@gmail.com
  • -f option : from email 을 변경할 수 있다.

SMTP 가 TLS 를 사용하기

See Also

  1. GitHub - mjl-/mox: modern full-featured open source secure mail server for low-maintenance self-hosted email
  2. 쿠...sal: [컴][툴] 알아두면 언젠가 쓸만한 툴, 2023-04-29

References

  1. jnet_g > 이용안내 > [sendmail]센드메일 버전체크 하기 (리눅스서버에서)
  2. 불법스팸 - 메일 서버(Sendmail)관리자
  3. sendmail access.db by example | LinuxWebLog.com
  4. ''FEATURE(mailertable)'' ''' :: Chapter 4. Configure sendmail.cf with m4 :: Part I: Build and Install :: Sendmail :: Server Administration :: eTutorials.org
  5. Change sender address of outgoing emails in Sendmail

a

[컴] visual studio code 에서 유용한 extension 들

확장 / vscode 확장 / vscode plugin /



visual studio code 에서 유용한 extension 들

reactjs + typescript

See Also

[웹] 080 스팸 문자 거부 관련 사항

광고문자 / 스팸 거부 / 수신거부 / 080 문자 거부 시스템 / 무료 문자 거부 시스템


광고문자를 보낼때 '무료수신거부(080)' 관련 주의할 점

ref. 1 에서 080 관련 사항만 정리했다.

무료 번호인 080번호를 넣는 경우 “수신거부”만 기입하여도 되나요?
  • 정보통신망법 시행령 제62조에 따른 별표6에서 "수신자가 비용을 부담하지 아니함을 함께 안내"하도록 하고 있기 때문에 최소한 "무료"임을 표시하여야 함


발신번호를 080 무료수신거부 번호로 넣어서 전송 하는 경우 본문에 080 번호를 기입하지 않아도 되나요?
  • 080 무료수신거부번호가 발신번호(회신번호)로 되어 있는 경우에 무료수신거부방법을 안내만 하고 번호는 별도로 넣지 않아도 됨
  • '무료수신거부 : 통화'로 명시하면 됨


무료수신거부번호를 080 번호가 아니라 웹링크를 넣어 링크를 타고 들어와 수신거부 할 수 있도록 해도 되나요?
  • 무료라고 볼 수는 있지만 인터넷이 되지 않는 휴대전화 사용자가 있기 때문에 웹링크 방식에 따른 수신거부 방식을 안내하여서는 안됨
  • 스마트폰이 아닌 2G폰 사용자의 경우 데이터가 소진되는 경우에는 정보통신망법 제50조제6항에 위반될 수 있음


080 무료수신거부번호로 전화를 하는 경우 상담원과 24시간 연결되도록 운영해야 되나요?
  • 일반적인 영업시간 동안만 상담원 연결로 운영하여도 됨


수신거부 방법을 “수신거부(.무료.) 080-888-1992”로 표기하여도 되나요?
  • 법에서 요구하는 것은 수신자가 무료임을 알수있게 하여야 한다는 것과 해당번호로 전화를 하였을 경우 수신거부를 할 수 있음을 안내하도록 하는 것임
  • 문자수제한이 있는 상황에서 이를 이용자에게 설명하기 위한 가이드라인으로 "무료"라는 단어와 "거부"라는 단어를 사용하도록 안내를 하고 있는 것임
  • 따라서 위와 같이 표기를 하더라도 법에 위반되지 않음
  • 하지만 스팸수신거부를 회피할 목적으로 위와 같이 표기하는 경우 처벌이 될 수 있음

080 수신거부 시스템 제공 사이트

대체로 문자를 보내는 사이트에서 080 을 무료로 지원해준다.(계약서를 확인하자)



References

  1. [PDF]스팸 관련 정보통신망법 안내서 Q&A, 2016년 10월 18일

[웹] 메일관련 cloudflare DNS 설정하기

DNS MX 설정 / 클라우드 플레어


작성중...

cloudflare DNS 사용해서 메일 설정하기

다음의 스마트워크(see also. 1) 을 사용해서 기업메일 설정을 하고 있다. 그런데 webtizen DNS 의 mx 값을 daum 에서 잘 읽지못하는 경우가 있었다. 그래서 일단 cloudflare 로 옮겼다.

domain 구입하기

일단 도메인은 webtizen(웹티즌)에서 구매했다.(수수료가 저렴하다.) 관련 내용은 See Also 1 을 참고하자.

cloudflare 에서 DNS 를 사용하려면 domain 이 있어야 한다. 그래서 먼저 도메인을 구매해야 한다.

cloudflare 가입하고 DNS 세팅하기

MX 값과 함께 SPF(or TXT) 를 같이 설정해 주자. 그래야 daum email 이 spam 으로 빠지는 것을 막아줄 수 있다. 자세한 내용은 See Also 1 을 참고하자.

SPF 설정


  1. 사용자 가이드 - NAVER CLOUD PLATFORM
  2. 도메인 및 SMTP 서버에 SPF 적용하기 (이론) - 미니브러리











웹티즌에서 DNS 설정하기




See Also

  1. 무료 기업 이메일 계정





[컴][DB] MySQL stress test

MySQL benchmark tool , BMT / mysql optimization / mysql status query / db monitoring / db 모니터링 / 디비 모니터 / mysql log / maria db log / mariadb log




MySQL 최적화

MySQL stress test

여러가지 tool 들이 있다.
  • mysql-stress-test.pl [ref. 1]
  • mysqlslap [ref. 2]
  • Sysbench [ref. 3]
  • super-smack[ref. 4]
  • mysqltuner[ref. 7]



max_connections 과 thread_cache_size[ref. 4]

현재 connection 상태를 알아보는 방법

mysql> show status like '%conn%';
+----------------------+-------+
| Variable_name        | Value |
+----------------------+-------+
| Aborted_connects     | 0     |
| Connections          | 8611  |
| Max_used_connections | 396   |
| Threads_connected    | 1     |
+----------------------+-------+

mysql> show status like '%thr%';
+------------------------------------------+-------+
| Variable_name                            | Value |
+------------------------------------------+-------+
| Delayed_insert_threads                   | 0     |
| Performance_schema_thread_classes_lost   | 0     |
| Performance_schema_thread_instances_lost | 0     |
| Slow_launch_threads                      | 0     |
| Threads_cached                           | 7     |
| Threads_connected                        | 1     |
| Threads_created                          | 5575  |
| Threads_running                          | 1     |
+------------------------------------------+-------+

새로운 thread가 생성되면 Threads_created 값이 1씩 증가하고, cache에 있는 thread를 사용할 경우는 Threads_created 값은 증가하지 않는다.

즉 Connections 값과 Threads_created 값, 그리고 현재 MySQL 서버가 얼마정도로 바쁜지를 파악하여 이 thread_cache_size 값을 조절해줘야 한다.

그러나 MySQL 서버가 상당히 바쁘고(STATUS == busy 이상) 이 값이 작으면 Connections이 이루어질때마다 새로운 thread가 생성된다

아래와 같은 공식으로 thread_cache_size 를 맞춰주면 된다고 한다.[ref. 6]

  • 100 - ((Threads_created / Connections) * 100)

MySQL 모니터링

먼저 기본적으로 MySQL 에서 제공하는 slow_query_log 와 performance schema 를 이용해 보는 것이 좋을 듯 하다.

slow_query_log

Performance Schema 관련


SHOW GLOBAL STATUS LIKE "Questions";
SHOW GLOBAL STATUS LIKE "Com_select";
Writes = Com_insert + Com_update + Com_delete

Munin

Percona


References

  1. MySQL: mysql-stress-test.pl — Server Stress Test Program 
  2. How do I... Stress test MySQL with mysqlslap? - TechRepublic
  3. Linux ETC - Sysbench를 통한 System, MySQL 성능 테스트 
  4. MySQL의 max_connections과 thread_cache에 대해 - Mimul's Developer World
  5. MariaDB Memory Allocation - MariaDB Knowledge Base
  6. 15 Useful MySQL/MariaDB Performance Tuning and Optimization Tips - Part 2
  7. 15 Useful MySQL/MariaDB Performance Tuning and Optimization Tips - Part 4 

[컴] DeepFake 예제 동영상

딥페이크 / 얼굴 변경 / 동영상 얼굴 편집

DeepFake 예제 동영상


[웹] 코딩 사이트

코딩 연습할 곳 / 재미로 코딩 / 코딩 배울 수 있는 사이트 / coding site / site for coder / 프로그래밍 / programming

코딩 사이트