명령 행 은 트릭을 수행합니다 (일부 구성 사용). Google 계정 인증을 사용하도록 설정해야합니다 ( 'gmail'으로 질문에 태그를 달았으므로 귀하의 제공자라고 가정합니다).
이 사이트 에는 설정 방법에 대한 세부 정보가 있습니다. 계정에서 2 단계 인증을 사용하는 경우 명령 행에 대한 애플리케이션 비밀번호를 작성하고 SASL 비밀번호를 추가 할 때 해당 토큰을 사용하십시오.
이 설정은 잘 작동하지만 첨부 파일은 처리하지 않습니다. 파일을 보내야 할 경우 Mail GUI를 사용하는 것이 더 쉬울 것입니다.
그러나 문제는 메시지를 보내기 위해 프로그램을 열고 싶지 않다는 것입니다. 맞습니까? 전송하려면 터미널을 열거 나 터미널을 열어야합니다. 그러나 전자 메일의 대상 주소, 제목 및 텍스트를 묻는 메시지를 표시하는 Applescript를 함께 사용하여 쉘로 직접 반송하고 종료하는 것은 매우 쉽습니다. 이것을 사용자 스크립트 폴더에 버리고 Mac이 빠른 접근을 위해 메뉴 막대에 스크립트를 표시하도록 구성되어 있는지 확인하십시오.
두 번째 편집 : 애플 스크립트가 조금 더 효율적으로 작동하도록 업데이트했습니다. 여기서 코드를 사용하여 메시지 본문을 홈 디렉토리의 임시 파일에 쓴 다음 cat을 사용하여 파일 내용을 전자 메일 메시지로 읽고 간단히 임시 파일을 삭제합니다. 나는 그것을 테스트했으며 원래 스크립트로 잘못 처리 된 문자에서도 잘 작동합니다.
try
display dialog "Send email to:" default answer "email@domain.com"
set theEmail to (text returned of result)
if theEmail is "email@domain.com" then error "No recipient specified!"
display dialog "Email subject:" default answer "Subject"
set theSubject to (text returned of result)
if theEmail is "Subject" then error "No subject specified!"
display dialog "Message:" default answer ¬
"Enter message text" & return & return & return & return
set theBody to (text returned of result)
set this_file to (((path to home folder) as text) & "message.tmp")
my write_to_file(theBody, this_file, true)
do shell script "cd ~/; cat message.tmp | mail -s \"" & theSubject & "\" " & theEmail & "; rm message.tmp"
on error theError
display dialog theError buttons {"Quit"} default button 1
end try
-- this subroutine saves input as a text file
on write_to_file(this_data, target_file, append_data) -- (string, file path as string, boolean)
try
set the target_file to the target_file as text
set the open_target_file to ¬
open for access file target_file with write permission
if append_data is false then ¬
set eof of the open_target_file to 0
write this_data to the open_target_file starting at eof
close access the open_target_file
return true
on error
try
close access file target_file
end try
return false
end try
end write_to_file