23.06.15
DEVOTEE를 활성화 시키면
지금 작성한 커뮤니티 글에 대해 1개의 댓글을 달아줍니다.
버튼을 누르면 글 수정 시 ChatGPT가 작성한 댓글이 수정됩니다.
| 컨텐츠 유형 | 제목 | 저장일 | 삭제 |
|---|
본인인증 로그인에 실패하였습니다.
회원이 아니시거나 본인인증 등록이
완료되지 않은 사용자입니다.
aws configure --profile schooldevops AWS Access Key ID [None]: <다운받은 credential의 access key> AWS Secret Access Key [None]: <다운받은 credential의 secret access key> Default region name [None]: ap-northeast-2 Default output format [None]: json
cat ~/.aws/credentials [default] aws_access_key_id = AKXXXXXXXXXXXXXUF aws_secret_access_key = ixxxxxXXXXXXXXXXXXXXxxxxxxxxXXXXXXXXXXv [schooldevops] aws_access_key_id = AKXXXXXXXXXXXXXUF aws_secret_access_key = ixxxxxXXXXXXXXXXXXXXxxxxxxxxXXXXXXXXXXv
...생략...생략 com.amazonaws aws-java-sdk-ses 1.12.58
src/main/resources/application.properties 이다.... 생략 aws.ses.profile=schooldevops aws.ses.from=baekido@gmail.com aws.ses.region=ap-northeast-2 aws.ses.encoding=UTF-8 ... 생략
aws.ses.profile 는 이전에 설정한 schooldevops 으로 프로파일 이름이다.aws.ses.from 메일을 보내는 사람의 메일 주소이다.aws.ses.region 우리가 사용할 ses의 리젼을 기술하였다.aws.ses.encoding 기본 테스트 인코딩을 설정해 주었다. 고정으로 지정해도 된다.
com.schooldevops.aws.mail.sdkv1.configs.SesSDKV1Config.java
package com.schooldevops.aws.mail.sdkv1.configs;
import com.amazonaws.auth.profile.ProfileCredentialsProvider;
import com.amazonaws.services.simpleemail.AmazonSimpleEmailService;
import com.amazonaws.services.simpleemail.AmazonSimpleEmailServiceAsyncClientBuilder;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
@Configuration
public class SesSDKV1Config {
@Value("${aws.ses.profile}")
private String profile;
@Value("${aws.ses.region}")
private String region;
@Bean
public AmazonSimpleEmailService amazonSimpleEmailService() {
ProfileCredentialsProvider profileCredentialsProvider = new ProfileCredentialsProvider(profile);
return AmazonSimpleEmailServiceAsyncClientBuilder.standard()
.withCredentials(profileCredentialsProvider)
.withRegion(region)
.build();
}
}
com.schooldevops.aws.mail.sdkv1.dtos.EmailDto.java 파일을 만들자.
package com.schooldevops.aws.mail.sdkv1.dtos;
import com.amazonaws.services.simpleemail.model.*;
import java.util.List;
public class EmailDto {
private final String from;
private final List to;
private final String subject;
private final String content;
private final boolean isHtml;
public EmailDto(String from, List to, String subject, String content, boolean isHtml) {
this.from = from;
this.to = to;
this.subject = subject;
this.content = content;
this.isHtml = isHtml;
}
public SendEmailRequest toSendRequest() {
final Destination destination = new Destination().withToAddresses(this.to);
final Message message = new Message()
.withSubject(new Content().withCharset("UTF-8").withData(this.subject))
.withBody(makeBody(this.isHtml));
return new SendEmailRequest()
.withSource(this.from)
.withDestination(destination)
.withMessage(message);
}
private Body makeBody(boolean isHtml) {
if (isHtml) {
return new Body().withHtml(new Content().withCharset("UTF-8").withData(this.content));
} else {
return new Body().withText(new Content().withCharset("UTF-8").withData(this.content));
}
}
}
com.schooldevops.aws.mail.sdkv1.services.SesV1Service.java 파일을 다음과 같이 작성하자.
package com.schooldevops.aws.mail.sdkv1.services;
import com.amazonaws.services.simpleemail.AmazonSimpleEmailService;
import com.schooldevops.aws.mail.sdkv1.dtos.EmailDto;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.stereotype.Service;
import java.util.List;
@Service
public class SesV1Service {
@Value("${aws.ses.from}")
private String from;
private final AmazonSimpleEmailService amazonSimpleEmailService;
public SesV1Service(AmazonSimpleEmailService amazonSimpleEmailService) {
this.amazonSimpleEmailService = amazonSimpleEmailService;
}
public void send(final String subject, final String content, final List receiver, boolean isHTML) {
final EmailDto mailDto = new EmailDto(from, receiver, subject, content, isHTML);
amazonSimpleEmailService.sendEmail(mailDto.toSendRequest());
}
}
package com.schooldevops.aws.mail;
import com.schooldevops.aws.mail.sdkv1.services.SesV1Service;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.boot.CommandLineRunner;
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import java.util.List;
@SpringBootApplication
public class MailApplication implements CommandLineRunner {
public static void main(String[] args) {
SpringApplication.run(MailApplication.class, args);
}
@Autowired
SesV1Service sendEmailService;
@Override
public void run(String... args) throws Exception {
sendEmailService.send("Hello kido..", "My name is...", List.of("baekido@gmail.com"), false);
}
}
DEVOTEE를 활성화 시키면
지금 작성한 댓글에 AI가 댓글을 달아줍니다.